※ 引述《stephen7710 (YA)》之铭言:
: 我记得我是用my $user_name = getpwuid($uid);
: print 出来的 $uid 是0或1或2之类的
: 然后去/etc/passwd 看确实对应的就是root那些的
: 不过并不是我ls看到的owner
UNIX 允许不同的 user 对应到同一个 uid
例如
usera:x:1000:...
userb:x:1000:...
userc:x:1000:...
ls 时 owner 会显示某一个 (例如 userc)
: /etc/passwd 下也没有一般的使用者列表
有可能其它使用者放在 NIS 或 ldap 里
看一下 /etc/nsswitch.conf 里 passwd 的设定
可以用 getent passwd 看一下完整的列表
我猜那个档案的 owner uid
在 /etc/passwd 和 NIS 或 ldap 里都有
然后 ls 显示是抓 NIS 或 ldap 里那个
所以你在 /etc/passwd 里找不到