나는 가지고있다유칼립투스내 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"을 사용하십시오. 그러나 유칼립투스의 모든 프로그램은 중지되어야 합니다.