# 四.用户和用户组

前言

  • 使用操作系统的人都是用户
  • 用户组是具有相同系统权限的一组用户

# 1.配置文件

# 1.1 /etc/group

  • /etc/group 存储当前系统中所有用户组信息
  • root组编号为0
  • 1-499系统预留的编号,预留给安装的软件和服务的
  • 用户手动创建的用户组从500开始
  • 组密码占位符都是x
  • 如果组内只有一个用户,而且用户名和组名相同的话,是可以省略用户名的
root:x:0:root
1
命令 含义
root 组的名称
x 密码占位符

0 |组编号 root|组中用户名列表

# 1.2 /etc/gshadow

  • 存放当前系统中用户组的秘密信息
  • /etc/group中记录的一一对应
root:*::root
1
内容 含义
root 组的名称
* 组秘密,*为空

|组管理者,为空表示可以管理这个组 root|组中用户名列表

# 1.3 /etc/passwd

  • 存储当前系统中所有用户信息
root:x:0:0:root:/root:/bin/bash
1
内容 含义
root 用户名
x 密码占位符
0 用户编号
0 用户组编号
root 用户注释信息
/root 用户主目录
/bin/bash shell 类型

# 1.4 /etc/shadow

  • 存放当前系统中所有用户的密码信息
  • user:xxx
  • 用户名:密码
root:password:17982:0:99999:7:::
1
内容 含义
root 用户名
passwodr 单项加密后的密码
17982 修改日期,这个是表明上一次修改密码的日期与 1970-1-1 相距的天数密码不可改的天数:假如这个数字是 8,则 8 天内不可改密码,如果为 0,则随时可以改
0 这个是表明上一次修改密码的日期与 1970-1-1 相距的天数密码不可改的天数:假如这个数字是 8,则 8 天内不可改密码,如果是 0,则随时可以改
99999 如果是 99999 则永远不用改。如果是其其他数字比如 12345,那么必须在距离 1970-1-1 的 12345 天内修改密码,否则密码失效
7 修改期限前 N 天发出警告

|密码过期的宽限天数 |帐号失效日期 |保留:被保留项,暂时还没有被用上

# 2.用户命令

显示登陆用户名

whoami
1

显示指定用户信息,包括用户编号,用户名 主要组的编号及名称,附属组列表

id zhangsan
1

显示 zhangsan 用户所在的所有组

groups zhangsan
1

显示用户详细资料

finger zhangsan
1

# 3.用户和用户组操作

# 3.1 添加用户组

groupadd stu
cat  /etc/group
1
2

# 3.2 修改用户组名称

groupmod -n student stu
cat  /etc/group
1
2

# 3.3 修改用户组编号

groupmod -g 666 student
cat  /etc/group
1
2

# 3.4 创建分组并指定编号

groupadd -g 888 teacher
1

# 3.5 删除用户组

groupdel student
1

# 3.6 添加用户

如果创建用户的时候没有指定用户组,系统会为你创建一个和用户名相同的用户组

groupadd stu
useradd -g stu zhangsan  #创建用户并指定用户组
useradd -g stu lisi      #创建用户并指定用户组

id zhangsan
id lisi

useradd -d /home/woshiwangwu wangwu   #创建用户并指定家目录
1
2
3
4
5
6
7
8

# 3.7 修改用户注释

usermod -c good wangwu
1

# 3.8 修改用户名

usermod -l wangwu2 wangwu
1

# 3.9 指定个人文件夹

usermod -d /home/wangwu2 wangwu2
1

# 3.10 修改用户组

usermod -g student wangwu2
1

# 3.11 删除用户

userdel wangwu2
userdel -r wangwu2 #删除用户的时候级联删除对应的目录
1
2

# 3.12 锁定用户 wangwu2 的密码

passwd -l wangwu2
1

# 3.13 解锁用户 wangwu2 的密码

passwd -u wangwu2
1

# 4.主要组和附属组

  • 用户可以同时属于多个组,一个主要组和多个附属组
  • 一个用户创建的文件属于主要组

把 wangwu2 添加到 teacher 附属组中

gpasswd -a wangwu2 teacher
Adding user wangwu2 to group teacher
newgrp teacher  #当前用户把身份切换为附属组,如果附属组有密码,需要设置密码
gpasswd -d wangwu2 teacher #把wangwu2从teacher附属组中移除

useradd -g group1 -G group2,group3... zhaoliu #添加用户的时候指定主要组和附属组
gpasswd group1 #设置组密码
1
2
3
4
5
6
7