概念介绍

主组:

也叫初始组,是用户登录系统时的组,规则如下:

创建新用户时,若未明确指定该用户所属的主组,会默认创建一个与用户名相同的组,作为该用户的主组

用户创建文件时,文件的所属权限组就是当前用户的主组

使用useradd命令时用-g参数可以指定主组,则不会默认创建同名的主组

用户有且只能所属一个主组

用户的主组不能被删除

用户不能直接被移出主组,但可以更换主组

用户被删除时它的主组若没有其他所属用户,则会自动删除该主组

附加组

登录后可切换的其他组,规则如下:

使用useradd命令时用-G参数可以指定附加组

用户可以所属零个或多个附加组

用户的附加组和主组可相同

附加组可以直接被删除而无需关心是否所属于用户

附加组可以新增和移除任意个所属用户

用户被删除时所属附属组不会受影响

命令演示

/etc/passwd文件

每一个用户一条记录,7个字段分别为:用户名,密码(隐藏显示x),用户ID,用户主组ID,用户描述,用户主目录,用户默认shell

cat /etc/passwd

user1:x:1002:1002::/home/user1:/bin/bash

/etc/group文件

每一个组一条记录,四个字段分别为:名,密码,组ID,组内用户列表(仅显示将该组作为附加组的用户)

cat /etc/group

user1:x:1002:

修改用户的主组

usermod -g group1 user1

cat /etc/passwd

user1:x:1002:1003::/home/user1:/bin/bash

将用户加入附属组

建议使用gpasswd命令而不是usermod,因为usermod -G命令如果不写全用户的附属组,会清空之前的所有附属组

groupadd group2

gpasswd -a user1 group2

Adding user user1 to group group2

cat /etc/group

group2:x:1004:user1

用户的主组不能被删除

groupdel user1

groupdel: cannot remove the primary group of user 'user1'

直接删除附属组

cat /etc/group

group2:x:1004:user1

groupdel group2

cat /etc/group

/etc/group中已无记录

创建用户时指定用户所属主组和附加组

-g:用户所属主组

-G:用户所属附加组

-M : 不创建用户主目录

useradd -g group1 -G group2 -M user3

cat /etc/passwd

user3:x:1003:1003::/home/user3:/bin/bash

cat /etc/group

group2:x:1004:user3

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐