J'ai - eucalyptus installé sur ma machine Linux et j'ai remarqué que pour les processus appartenant à l'utilisateur Eucalyptus, PS l'ID utilisateur au lieu du nom d'utilisateur. Par exemple:
$ 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
Qu'est-ce que cela arriverait?
Notez qu'il y a une entrée appropriée dans/etc/passwd:
$ grep eucalyptus /etc/passwd
eucalyptus:x:107:115::/var/lib/eucalyptus:/bin/bash
Notez également que LS Les propriétés rapportent la propriété des fichiers par le compte Eucalyptus:
$ touch foo
$ ls -l foo
-rw-r--r-- 1 eucalyptus eucalyptus 0 2010-09-23 11:47 foo
ps
utilise l'UID lorsque le nom d'utilisateur est de plus de 8 caractères.
Vous pouvez contrôler la largeur des colonnes:
ps o user:12,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,comm
cela reproduit le format u
de ps u
, mais cela rend le champ utilisateur 12 caractères large.
Bien sûr, vous avez un problème avec votre/etc/passwd ... vous l'avez édité manuellement, n'est-ce pas? :)
quoi qu'il en soit, j'ai reproduit le problème de copier la ligne de l'utilisateur dans/etc/passwd et Modification du nom d'utilisateur par l'ID utilisateur.
Comme ça:
[email protected]:/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
Notez que "l'utilisateur numéroté" est le premier.
[email protected]:/etc/# Sudo -u puppet -s
[email protected]:/etc/$ whoami
129
[email protected]:/etc/$ touch /tmp/a
[email protected]:/etc/$ ls -l /tmp/a
-rw-r--r-- 1 129 puppet 0 2010-09-23 19:12 /tmp/a
[email protected]:/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
Essayez d'exécuter "whoami", c'est sûr qu'il retourne 107 :)
C'est un comportement étrange, PS renvoie le nombre et ls le nom normal: -M ...
Pour le résoudre: