Linux系统中用户及用户组的管理

Source

一、系统中用户及用户组的管理

1、理解系统中的用户及用户组

  • 用户:Linux系统最底层的安全设备,属于权限问题,系统要回收权力, 系统用户即系统的使用者,对用户管理就是对文件的管理。
  • 用户组:用户组是用户的延伸,组的存在是为了共享用户的权力,组和用户是两个不同的机制。组分为初始组和附加组。

2、查看用户

whoami   |   查看当前正在使用的用户

在这里插入图片描述

id 用户名   |   查看系统中指定用户的id

命令 含义
id - u 查看用户的uid(自己的身份证号)
id - g 查看用户的gid(用户所属初始组id)
id - G 查看用户的附加组
id - n 显示用户的名字

在这里插入图片描述

3、用户在系统的存储文件

文件 含义 包含内容
/ etc / passwd 用户信息文件 用户名称:用户密码:uid:gid:说明:家目录:默认shell
/ etc / group 用户组信息文件 组的名字:组的密码:组的id:组的成员
/ etc / shadows 用户认证信息文件 用户名称:密码(sha512非对称加密)
/ home / username 用户家目录(用户建立所属目录)
/etc/sudoers 权力下放文件

4、用户的管理

4.1 用户的建立

命令 含义
useradd 用户名 创建用户
useradd -u 111 用户名 创建用户的同时指定用户uid
useradd -g 21 用户名 创建用户且指定用户初始组id,“21用户组必须是存在的
useradd -G 21 用户名 创建用户且指定用户附加组id,“21用户组必须是存在的
useradd -c “hello” 用户名 创建用户且指定用户说明为“hello”
useradd -d /home/lee 用户名 创建用户且指定用户家目录为/home/lee
useradd -s /bin/sh 用户名 创建用户且指定用户的默认shell

(1)用户信息监控命令
在这里插入图片描述
动态监控每一个命令用 watch

watch -n 时间间隔   |   实时监控 (Ctrl +c 退出)

(2)useradd xixixi 建立用户xixixi
在这里插入图片描述
(3)useradd -u 888 wangyuran 创建用户的同时指定用户uid为888

在这里插入图片描述
(4)useradd -g 21 haha 创建用户haha且指定用户haha初始组id为21
(5)useradd -G 21 HUHU 创建用户HUHU且指定用户HUHU附加组id为21
(6)useradd -c “xinzhenglong” xin 创建用户且指定用户说明为“xinzhenglong”

在这里插入图片描述
(7)useradd -d /home/lee xinlv 创建用户xinlv且指定用户家目录为/home/lee
(8)useradd -s /bin/sh wang 创建用户wang且指定用户wang的默认shell为/bin/sh
在这里插入图片描述

  • 注意:建立用户的同时会建立其配置文件,即用户的组信息和用户的家目录;建立用户时除了密码不能指定外,其他用户信息均可以指定;

4.2 用户的删除

命令 含义
userdel 用户名 删除用户但不删除配置文件
userdel -r 用户名 删除用户及其配置文件

(1)userdel wcc 删除用户wcc但不删除配置文件
在这里插入图片描述
(2)userdel -r wcc 删除用户wcc且删除配置文件
在这里插入图片描述

  • 注意: 删除一个用户的时候必须 - r ,否则它的配置文件还存在,就不能重新建立; 用户也不能重复建立,一定要先删除再建立; 当只剩下家目录的时侯,家目录是一个文件,用 rm 删除家目录文件即可。

5、用户组的管理

命令 含义
groupadd 用户组名 创建用户组
groupadd -g 111 用户组名 创建用户组的同时指定用户组id
groupdel 用户组名 删除用户组

**groupadd -g 678 hhhhhhh**创建用户组的同时指定用户组id在这里插入图片描述

  • font color=‘red’ >注意:用户组不能重复建立,一定要先删除再建立;建立用户组的同时也会建立它的家目录,同样删除用户组的同时也会删除它的家目录(这一点与用户的管理不一样)

6、用户信息的更改

  • 用户信息的直接修改不用删除原用户,在已有用户上修改用户信息
命令 含义
usermod -l 新用户名 原用户名 更改用户名称
usermod -u 6666 用户名 更改用户uid
usermod -g 21 用户名 更改用户初始组信息
usermod -G 21 用户名 更改用户附加组信息
usermod -aG 72用户名 添加用户的附加组
usermod -G “” 用户名 删除所有附加组信息
usermod -c “hello” 用户名 更改用户说明为“hello”
usermod -d /home/lee 用户名 更改用户家目录的指向
usermod -md /home/lee 用户名 更改用户家目录的指向和家目录的名字
usermod -s /bin/sh 用户名 更改用户的默认shell
usermod -L 用户名 冻结用户
usermod -U 用户名 解锁用户
  • 注意 : 使用-G时,如果已有附加组,则会代替;如不想代替,想让两个都存在的话,使用-aG

(1)usermod -l ranran wang 更改用户wang的名称为ranran
在这里插入图片描述

(2)usermod -u 6666 ranran 修改用户的uid为6666
在这里插入图片描述
(3)usermod -g 72 ranran 更改用户的初始组
(4)usermod -G 72 ranran 更改用户的附加组
(5)usermod -aG 21 ranran 添加用户的初始组
(6)usermod -G “” ranran 清除用户的组信息

在这里插入图片描述

7、用户认证信息

例 :westos : !! : 17895 : 0 : 99999 : 7 : : :
【1】 : 【2】 : 【3】 : 【4】 : 【5】 : 【6】 :【7】 :【8】 :【9】 共有9列,位于/etc/shadow

含义
第一列 用户名称
第二列 用户密码的加密字符串,默认用sha512对称加密,如果加密字符串前出现“!”,则该用户帐号被冻结
第三列 用户密码最后一次被修改的时间,此时间的计算是从1970-1-1日起累计的总时间天数
第四列 用户密码最短有效期限,用户在这个数字天数之内不能修改密码
第五列 用户密码最长有效期限,用户必须在此有效期内更新密码,如果超时会被冻结
第六列 密码警告期限,在过期前指定天数内会发送警告信息给用户
第七列 用户的非活跃天数(过期后),此位默认为空,如果设定数值,那么在密码最长有效期过后仍可以使用此用户的天数
第八列 用户到期日,默认为空,表示帐号一定会被冻结的时间点,此时间计算是从1970-1-1开始计算的累计天数
第九列 用户自定义列,目前没有启用

在这里插入图片描述

用户密码

命令 含义
passwd 用户名 更改用户密码
passwd -l 用户名 锁定,在用户密码前加“!”
passwd -u 用户名 解锁
passwd -d 用户名 清空用户密码
  • 注意:普通用户更改密码时,必须知道当前用户原始密码,密码不能和帐号名称相似,不能是纯数字或纯字母,不能是有序的字母和数字的组合。

(1)passwd 用户名 更改用户密码
在这里插入图片描述
(2)passwd -l 用户名 在密码前加两个!!,锁定
在这里插入图片描述

(3)passwd -d 用户名 清除用户密码
在这里插入图片描述

用户密码最后一次被更改时间

命令 含义
passwd -e 用户名 用户最后一次更改密码时间为0
chage -d 用户名 用户在登录时会被强制更改密码

用户密码最短有效期

命令 含义
passwd -n 1 用户名 用户在1天内不可以修改密码
chage -m 1 用户名 同上

用户密码最长有效期

命令 含义
passwd -x 30 用户名 用户在30天内必须修改密码
chage -M 30 用户名 同上

密码警告期限

命令 含义
passwd -w 3 用户名 密码过期前3天有警告输出
chage -W 3 用户名 同上

用户非活跃天数

命令 含义
passwd -i 3 用户名 密码过期后3天仍可以登录
chage -I 3 用户名 同上

(1)用passwd命令
在这里插入图片描述
(2)用change命令
在这里插入图片描述

八、用户授权

  • 用户授权;一般情况下普通用户是不能新建用户或者用户组,只有超级用户有这个权力,现在想让普通用户使用超级用户的权力来建立用户或者用户组,此时需要把超级用户的权力给普通用户。
  • 操作过程
  1. 先建立一个普通用户 useradd cccw
  2. su - cccw 切换到普通用户
  3. 用普通用户创建新用户,不可行,则下方权力
  4. 打开一个文件 visudo (/etc/sudoers)

在这里插入图片描述

  1. 更改文件的100行左右写要操作的东西
    内容为:用户 主机名字 =(得到的身份) NOPASSWD: 要执行的命令
    例:内容为:tom hostname =(root) NOPASSWD: /usr/sbin/useradd
    在这里插入图片描述
  2. 测试权力是否下放成功 用sudo
    在这里插入图片描述