Linux
反向 id 命令,我想要來自 uid 或 gid 的使用者/組名
我知道一些我不知道它們屬於誰的 uid 和 gid,它們不在 /etc/passwd 中(可能是 LDAP 或來自另一個系統)。如何僅從 uid 或 gid 獲取 Id 資訊,最好不使用 ldapsearch 或 getent 或 id 之外的任何 LDAP 命令,或其他簡單的方法。Linux 2.6 核心,Red Hat 變體。
您可以使用該
getent
命令,該命令將基於/etc/nsswitch.conf
. 這意味著如果ldap
在系統上配置,getent
將嘗試在ldap
. 這是一個例子:$ getent passwd 33 www-data:x:33:33:www-data:/var/www:/bin/sh
要獲取與 UID 關聯的使用者名
-n
,請使用以下選項id
:$ id uid=1000(myself) gid=1000(myself) groups=1000(myself), 0(wheel), 9(wsrc) $ id -n -u 1000 myself
這對 GID 不起作用,但正如
id
預期的使用者名或 UID 一樣:$ id -n -g 9 id: 9: No such user
您可以使用以下命令同時查詢 passwd 數據庫和組數據庫中的 UID 和 GID
getent
:$ getent passwd 1000 myself:*:1000:1000:Just me,,,:/home/myself:/bin/sh
$ getent group 9 wsrc:*:9:myself
實際的使用者名或組名可以通過管道輸出來解析出來
cut -d : -f 1
。
id
是一個POSIX 實用程序,而getent
不是。