Linux

總是會有一對相同的 UID 和 GID 嗎?

  • April 9, 2021

我必須使用chmod.I 更改文件/目錄的所有權。我只知道所有者的使用者名,但想同時更改預設組名。在這個階段,組名尚未確定,所以我將與使用者名相同

chown -R username:username path_to_dir

命令可能會針對各種系統/使用者執行,所以我擔心的是,linux 是否總是有一對 username(user):username(group) 或者在某些時候這個預設的 group_name 可能會出錯。

雖然我已經開始從使用者所屬的地方找 GID

id username | tr '(=)' ':' | awk -F: '{print $3}

但是對於知識我想知道。到目前為止,/etc/passwd /etc/groups除了少數使用者(如“shutdown,halt,sync,operator”)的分析之外,所有使用者也都列在了組中。

編輯 1: id -gn username 也是不錯的選擇

不能保證 groupname =username會存在。

最常見的場景是系統管理員在 Linux 上使用在系統本地創建一個新使用者,沒有明確指定組,這意味著預設創建的組與使用者名相同,並分配使用者擁有新創建組的預設 GID。

這並不意味著其他系統管理員將遵循此過程,如果您將其他命名服務(如 NIS 或 LDAP)加入到混合中,則分配為預設的組可能與組名與使用者名相同的新 GID 不同。

所以你不應該依賴 username=groupname 這個事實

引用自:https://unix.stackexchange.com/questions/129368