文章目录
一、系统中用户及用户组的管理
1、理解系统中的用户及用户组
2、查看用户
3、用户在系统的存储文件
4、用户的管理
4.1 用户的建立
4.2 用户的删除
5、用户组的管理
6、用户信息的更改
7、用户认证信息
8、用户授权
一、系统中用户及用户组的管理
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、用户的管理
| 命令 | 含义 |
|---|---|
| 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 -n date | 时间的一秒间隔监控(Ctrl +c 退出)
watch -n 1 “tail -n 3 /etc/passwd /etc/group; ls -l /home/” | ';'表示进行下一条命令
/etc/login.defs | 查看系统中用户可用编号范围和其他的范围
(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 用户组名 | 删除用户组 |
(1)groupadd -g 678 hhhhhhh创建用户组的同时指定用户组id:
- 注意:用户组不能重复建立,一定要先删除再建立;建立用户组的同时也会建立它的家目录,同样删除用户组的同时也会删除它的家目录(这一点与用户的管理不一样)
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 清除用户的组信息
- pkill -9 -u westos 由于westos 还有进程运行时对westos用户无法操作,用此命令关掉运行状态
用户的切换:
gnome-session-quit --force ##注销当前用户
su - 用户名称
su - westos ##转到westos 用户
记着切换用户先用exit退出本用户
注:su westos 不会加载系统配置文件
su - westos 会加载系统配置文件
/etc/bashrc ##shell配置文件
/etc/profile ##系统配置文件
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开始计算的累计天数 |
| 第九列 | 用户自定义列,目前没有启用 |
7.1 用户密码
| 命令 | 含义 |
|---|---|
| passwd 用户名 | 更改用户密码 |
| passwd -l 用户名 | 锁定,在用户密码前加“!” |
| passwd -u 用户名 | 解锁 |
| passwd -d 用户名 | 清空用户密码 |
- 注意:普通用户更改密码时,必须知道当前用户原始密码,密码不能和帐号名称相似,不能是纯数字或纯字母,不能是有序的字母和数字的组合。
(1)passwd 用户名 更改用户密码
(2)passwd -l 用户名 在密码前加两个!!,锁定
(3)passwd -d 用户名 清除用户密码
7.2 shadow中的信息改变认证
| passwd -S westos | 查看密码状态 |
|---|---|
| passwd -n 1 westos | 最短有效期,用户在一天内不能该密码 |
| chage -m 1 westos | 同上 |
| passwd -x 30 westos | 最长有效期,westos在30天内必须该密码 |
| chage -M 40 westos | 同上 |
| passwd -w 2 westos | 提醒期,密码过期前两天有警告输出 |
| chage -W 2 westos | 同上 |
| passwd -i 1 | 活跃期,密码过期后仍可用的天数 |
| chage -I 1 | 同上 |
| passwd -d | 删除密码 |
| chage -E “2019-11-11” | westos用户在2019-11-11会被冻结 |
| 用户密码最后一次被更改的时间: | |
| passwd -e westos | 会改变用户最后一次改变密码的时间为0,用户登陆时会强制该密码 |
| chage -d 0 westos | 两个命令功能相似 |
(1)用passwd命令
(2)用change命令
八、用户授权
- 用户授权;一般情况下普通用户是不能新建用户或者用户组,只有超级用户有这个权力,现在想让普通用户使用超级用户的权力来建立用户或者用户组,此时需要把超级用户的权力给普通用户。
-
操作过程:
1.先建立一个普通用户 useradd cccw
2.su - cccw 切换到普通用户
3.用普通用户创建新用户,不可行,则下方权力
4.打开一个文件 visudo (/etc/sudoers)
5.更改文件的100行左右写要操作的东西
内容为:用户 主机名字 =(得到的身份) NOPASSWD: 要执行的命令
例:内容为:tom hostname =(root) NOPASSWD: /usr/sbin/useradd
6.测试权力是否下放成功 用sudo