V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
jzq526
V2EX  ›  Linux

CentOS7 中的 group 文件为什么会显示以某个组为主组的成员?

  •  1
     
  •   jzq526 · 2019-04-03 14:57:07 +08:00 · 2595 次点击
    这是一个创建于 2065 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在安装 CentOS7 的过程中,在为 root 用户设置密码那一步中,选择创建了一个普通用户 student,并将其做为管理员。 安装完毕后,/etc/passwd 文件中: student:x:1000:1000:student:/home/student:/bin/bash 说明用户 student 的主组 gid 是 1000,然后打开 /etc/group 文件,其中有: student:x:1000:student 说明 gid 为 1000 的组是 student,但这一行中显示其成员为用户 sutdent。

    问题在于,group 文件中,不显示以某个组为主组的用户的名称啊。既然用户 student 的主组为组 student,那么就不应该显示到组 student 这一行中了。 我又创建了其它的用户和组,发现只有在安装过程中创建的这个用户存在此现象,安装完毕后新创建的用户和组就没有这个问题。 另外,debian 和 ubuntu 也没有这个现象。CentOS6 安装过程中就没有创建新用户这一选项,因此也不存在。

    请教高手,这是怎么回事? 先行谢过。

    第 1 条附言  ·  2019-04-03 22:22:35 +08:00
    问题的关键在于,Linux 中的 group 文件中记录了每个组的成员,但以该组为主组的成员是不会记录的。
    例如我创建了一个用户 user01,那么系统会默认创建一个组 user01,同时用户 user01 的主组就是组 user01,在 group 文件中,组 user01 的记录中的最后一个参数(也就是最后一个冒号后面的内容,即组成员),是不会显示用户 user01 的。
    但在安装过程中创建的非 root 用户,其主组在 group 文件中的记录却会显示该用户的名称。

    在系统安装完毕后,再创建新的用户,就不会有类似的情况发生。所以这个问题应该是发生在安装过程中。
    不知道安装过程中是否可以使用 useradd 命令?
    第 2 条附言  ·  2019-04-03 22:37:19 +08:00
    在 root 主目录下有安装配置文件,其中有这么一段:
    # System timezone
    timezone Asia/Shanghai --isUtc --nontp
    user --groups=wheel --name=student --password=$6$I7h9NTUM.F8aEwfD$LiCrKCEaiFF.3QgTiXmbNz1y6l8svka3cc.UHmdibAkFgUAa/1v8RqjHodow/QfQemjpPzj9QQRskAZr6UIT2/ --iscrypted --gecos="student"
    4 条回复    2019-04-03 22:41:11 +08:00
    junjieyuanxiling
        1
    junjieyuanxiling  
       2019-04-03 18:34:59 +08:00 via Android
    man useradd
    /-g


    cat /etc/login.defs | grep USERGROUPS_ENAN
    julyclyde
        2
    julyclyde  
       2019-04-03 19:12:17 +08:00
    主组是用户自己的属性,不是组的属性
    jzq526
        3
    jzq526  
    OP
       2019-04-03 22:39:42 +08:00
    @junjieyuanxiling 你这个方法只能查看 useradd 命令会不会创建一个同名组并作为该用户的主组,不能说明为什么安装过程中创建的用户出现在了其主组的描述信息中。另外,useradd 命令创建的用户,其名称是不会出现在其主组在 group 文件中的描述信息的。这是符合一般说明的。
    jzq526
        4
    jzq526  
    OP
       2019-04-03 22:41:11 +08:00
    @julyclyde 但解释不了为什么安装过程中创建的用户的名称会出现在其主组的成员列表中,而安装完毕后创建的用户的名称却不会出现在其主组的成员列表中。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1072 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 19:28 · PVG 03:28 · LAX 11:28 · JFK 14:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.