Group
coreos上定義的核心組在哪裡?
在 CoreOS EC2 實例上,我發現以下內容:
$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash core:x:500:500:CoreOS Admin:/home/core:/bin/bash $ cat /etc/group wheel:x:10:root,core sudo:x:150: docker:x:233:core $ id uid=500(core) gid=500(core) groups=500(core),10(wheel),233(docker),248(systemd-journal),250(portage)
- 組在哪裡
core
定義?- 我可以使用哪些命令來更改使用者/組的 uid和gid
core
,比如在啟動時執行的 systemd 單元中?**更新:**這似乎與
/usr/share/baselayout/group
包含該core
組的 的內容有關,但我在任何地方都找不到指向該文件的任何連結。
鑑於您發布的
passwd
和group
文件,您的系統上沒有呼叫任何組core
。有一個名為 的使用者core
,使用者 ID 為 500,其主要組的組 ID 為 500。組 500 在這些文件中沒有給出名稱。組 500 可能具有在另一個數據庫中給出的名稱。使用者和組的數據庫在
/etc/nsswitch.conf
.getent
您可以使用以下命令查詢它們:getent group 500
在 CoreOS 上,
/etc/nsswitch.conf
containsusrfiles
似乎是 CoreOS 擴展。它的工作原理類似於files
,但在下面/usr/share/baselayout
而不是/etc
. 因此files usrfiles
意味著/etc/group
將被諮詢,然後/usr/share/baselayout/group
。使用者和組通常不是在啟動時或其他時間動態創建的;它們是持久的系統配置。您可以從 Systemd 單元呼叫諸如
adduser
、addgroup
等命令,但這種情況相當罕見。我不熟悉 CoreOS,但我非常懷疑創建一個core
在啟動時呼叫的使用者或組會取得任何有用的效果。如果要為組 500 命名,請在 中創建一個/etc/group
條目addgroup
。如果您想為自己的目的創建使用者或組,請使用adduser
andaddgroup
,並且不要重複使用已使用的名稱或號碼。