
私は持っていますユーカリ私はLinuxコンピュータにインストールしましたが、ユーカリユーザーが所有するプロセスの場合メモユーザー名の代わりにユーザーIDを報告します。たとえば、
$ sudo -i -u eucalyptus
$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
107 29764 0.0 0.0 19376 2104 pts/2 S 11:43 0:00 -bash
107 30198 0.0 0.0 15256 1180 pts/2 R+ 11:44 0:00 ps u
これが起こる原因は何ですか?
/etc/passwdに正しいエントリがあります。
$ grep eucalyptus /etc/passwd
eucalyptus:x:107:115::/var/lib/eucalyptus:/bin/bash
また参考にしてくださいエルエスプロパティはユーカリアカウントのファイル所有権を報告します。
$ touch foo
$ ls -l foo
-rw-r--r-- 1 eucalyptus eucalyptus 0 2010-09-23 11:47 foo
答え1
ps
uidは、ユーザー名が8文字を超える場合に使用されます。
答え2
列の幅を制御できます。
ps o user:12,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,comm
これはu
型を再現しますps u
が、ユーザーフィールドの幅を12文字にします。
答え3
もちろん、/etc/passwdに問題があります。手動で編集しましたか? :)
とにかく、/etc/passwdにユーザーラインをコピーする問題を再現し、ユーザーIDでユーザー名を変更します。
このように:
root@juice:/etc/# grep 129 /etc/passwd
129:x:129:137:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false
puppet:x:129:137:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false
「番号ユーザー」が最初のものであることに注意してください。
root@juice:/etc/# sudo -u puppet -s
129@juice:/etc/$ whoami
129
129@juice:/etc/$ touch /tmp/a
129@juice:/etc/$ ls -l /tmp/a
-rw-r--r-- 1 129 puppet 0 2010-09-23 19:12 /tmp/a
129@juice:/etc/$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
129 12443 2.2 0.1 7112 4380 pts/1 S 19:12 0:00 /bin/bash
129 12490 0.0 0.0 2716 1068 pts/1 R+ 19:12 0:00 ps u
"whoami"を実行して、107が返されることを確認してください。 :)
これは奇妙な動作です。 ps は数値を返し、ls は一般名を返します。 -m...
解決策:
- /etc/passwdを編集し、間違ったエントリを削除してください。
- または「userdel 107」を使用してください。ただし、ユーカリのすべてのプログラムは停止する必要があります。