一、用户组
(1) 查看当前linux中已有的用户组
格式为:groupname:组密码占位符:组编号:组成员
在第一行 root:x:0:envoy 表示在组编号为0的 名叫 root 的用户组,其下有个 envoy 用户
(2) 创建用户组
- 单纯创建用户组
groupadd xxx (xxx 为用户组名)
如: groupadd test
- 创建用户组+指定编号
groupadd -g 编号 组名
图中可以看到创建了编号为 1004 的 sky用户组
(3) 删除用户组
groupdel 组名
从图中可以看出删除了 sky 用户组,再次去查的时候查不到了,说明删除成功了
(4) 修改用户组
- 修改用户组名
groupmod -n 新组名 旧组名
可以看到将前面创建的 test 组名更改为了 hello
- 修改用户编号
groupmod -g 新编号 组名
图中可以看到 hello 这个小组原先编号为 1002 ,通过 修改后变成了 1003
二、用户
(1) 查看当前linux中已有的用户
cat /etc/passwd
格式为 用户名:密码:用户编号:所属组编号:所属组名称:用户目录:
(2) 创建用户
- 单纯创建用户
useradd 用户名
从图中可以看出当在useradd 中仅指明用户名时,它创建的时候会自动创建一个同名的用户组、在home目录下自动创建同名的文件夹;如果系统中已经存在同名的用户组,则会直接创建失败,需要创建用户的时候指定所属用户组
- 创建用户过程中添加到某个组
useradd -g 用户组名 用户名
从上图中可以看出若指定的用户组不存在则提示创建失败。也就是说指定的用户组必须存在。
从上图中可以看出若添加的用户已经在/home下有同名的文件夹,也是创建失败
- 创建用户过程中指定用户所在目录
图中显示创建成功,在指定目录存在的情况下,用户也可以创建成功
(3)删除用户
userdel 用户
从图中可以看出,删除用户的时候不会自动删除 home目录下同名文件夹,若所属组仅有该用户,则所属组一并删除,但是 home 目录下同名文件夹还存在,必须手动删除掉。
删除用户的时候,其所属组不单单有它一个,则所属用户组不会一并删除掉
- 删除用户同时删除文件夹
userdel -r 用户名
(4) 修改已有用户所属组
usermod -g 用户组名 用户
从图中可以看出, test 用户原本属于 test 用户组,后来被更换到了 hello 用户组中了。
(5)从某个组中删除某个用户
gpasswd -d 用户名 用户组
、
(6)将用户添加到多个组
usermod -a -G 用户组名 用户名 (这里必须是G,不能是 g)
三、查看
(1) 查看当前登录用户
whoami
(2) 查看当前登录用户信息
id
id 用户名 (查看指定用户信息)
(3) 查看用户组信息
groups (查看当前登录用户所属组信息)
groups 用户组名 (查看指定用户组的信息)