Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 何处及;用户组信息是如何存储在Ubuntu中的?_Linux_Unix_Ubuntu_Etcpasswd - Fatal编程技术网

Linux 何处及;用户组信息是如何存储在Ubuntu中的?

Linux 何处及;用户组信息是如何存储在Ubuntu中的?,linux,unix,ubuntu,etcpasswd,Linux,Unix,Ubuntu,Etcpasswd,镜像问题:。(我得到答案后会删除其中一个) 两个可能的地方:和 如果我使用命令:adduser[username][groupname],那么用户将被添加到组中,并且文件/etc/group将被更新 但是,文件/etc/passwd不会更新。如果我通过groups命令检查我属于哪个组,我只能看到passwd文件中说明的组。。因此,不会根据此结果将用户添加到组中 我很困惑 将组信息分别编入/etc/passwd和/etc/group的含义是什么 为什么adduser只更新组文件 如何通过命令将

镜像问题:。(我得到答案后会删除其中一个)


两个可能的地方:和

如果我使用命令:
adduser[username][groupname]
,那么用户将被添加到组中,并且文件
/etc/group
将被更新

但是,文件
/etc/passwd
不会更新。如果我通过
groups
命令检查我属于哪个组,我只能看到
passwd
文件中说明的组。。因此,不会根据此结果将用户添加到组中


我很困惑

  • 将组信息分别编入
    /etc/passwd
    /etc/group
    的含义是什么
  • 为什么
    adduser
    只更新
    文件
  • 如何通过命令将组添加到
    passwd
    文件
  • 为什么
    groups
    passwd
    文件返回组信息,而不是
    groups
    文件
  • 谢谢

  • 在这些传统文本文件(还有其他方式,如LDAP)中,您的主要组转到
    /etc/passwd
    (例如用于您创建的文件的权限),所有其他组转到
    /etc/group
  • 见1
  • 这是不可能的,但是您可以使用
    usermod-g
  • 这是一种误解,
    显示所有组。但是,只有在启动新会话(新登录)时,才会拾取新组。您可以使用
    newgrp
    命令,以给定的组名作为主要组(您必须是该组的成员)启动会话,作为一种副作用,它将查询用户数据库并更新您的组列表

  • 我觉得这个问题可能更适合我哦谢谢你的指点。我会相应地问一个问题。谢谢,这是非常完整的答案。还有一个问题:
    主要组
    正常组
    之间有什么区别?一个正在运行的进程有一个组id。。。启动进程时,它具有您的用户id和主组的组id。这就是为什么您创建的文件通常具有主组的组id
    newgrp
    通过调用
    setid(2)
    setgid(2)
    然后调用
    execv(3)
    你的shell,我想这是我得到的。谢谢