当发生以下情况时,我想将自己添加到一个名为 vboxusers 的组中:
在我们做任何事情之前,让我们先看看它的样子:
$ id
uid=1001(me) gid=1001(me) groups=1001(me),4(adm),27(sudo),109(lpadmin),124(sambashare)
$ cat /etc/group | grep me
adm:x:4:me
sudo:x:27:me
lpadmin:x:109:me
me:x:1001:
Run Code Online (Sandbox Code Playgroud)
然后我将自己添加到组中并再次检查:
$ sudo usermod -aG vboxusers me
$ id
uid=1001(me) gid=1001(me) groups=1001(me),4(adm),27(sudo),109(lpadmin),124(sambashare)
$ cat /etc/group | grep me
adm:x:4:me
sudo:x:27:me
lpadmin:x:109:me
me:x:1001:
vboxusers:x:126:me
Run Code Online (Sandbox Code Playgroud)
id仍然没有将我列为该组的一员,而我确实将正确的内容写入/etc/groups. 发生了什么,我能做些什么来id识别它?
(只是启动一个新的外壳并没有改变任何东西)
id显示关于调用它的进程的信息(或者更准确地说,它显示关于它自己的信息,它从调用它的进程继承)。组数据库仅在登录时查询,并且仅影响从该登录会话产生的进程。登录进程被授予组数据库中列出的组,所有其他进程从它们的父进程继承。
启动一个新的 shell 没有什么区别,您需要注销并重新登录。您可以通过登录另一个控制台或使用ssh localhost或来测试您的更改su me。
您可以使用getent group vboxusers. 除非您的机器使用 NIS 或 LDAP 从网络服务器获取用户和组信息,否则这将提供与grep '^vboxusers:' /etc/group. 同样,此信息会告诉您登录时发生的情况,之后不会进行查询。
| 归档时间: |
|
| 查看次数: |
2350 次 |
| 最近记录: |