Linux 시스템에 Eucalyptus 가 설치되어 있으며 유칼립투스 사용자가 소유 한 프로세스의 경우 ps 보고서를 발견했습니다. 사용자 이름 대신 사용자 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
또한 ls 속성은 유칼립투스 계정으로 파일의 소유권을보고합니다.
$ touch foo
$ ls -l foo
-rw-r--r-- 1 eucalyptus eucalyptus 0 2010-09-23 11:47 foo
ps
는 사용자 이름이 8자를 초과 할 때 uid를 사용합니다.
열 너비를 제어 할 수 있습니다.
ps o user:12,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,comm
이것은 u
형식의 ps u
이지만 사용자 필드의 너비는 12 자입니다.
물론/etc/passwd에 문제가 있습니다 ... 수동으로 편집 했습니까? :)
어쨌든, 나는/etc/passwd에 사용자 라인을 복사하고 사용자 ID로 사용자 이름을 변경하는 문제를 재현했습니다.
이처럼 :
[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
"번호가 매겨진 사용자"가 첫 번째임을 유의하십시오.
[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
"whoami"를 실행하고 107을 반환하는지 확인하십시오. :)
그것은 이상한 행동입니다, ps는 숫자를 반환하고 ls는 정상적인 이름입니다 : -m ...
그것을 해결하려면 :