5.Linux系统中的用户管理
1.用户及用户组存在的意义
1)用户存在的意义
系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有连个资源配合
1.身份 account
2.授权 author
3.认证 auth
3A机制,3A机制组成系统中最底层的安全架构
2)用户组存在意义
用户组是一个逻辑容器
对用户进行归类和统一授权
2.用户及用户组在系统中的存在方式
电脑对数字敏感 id
人类对字符串敏感 名称
id <…>名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
3.用户切换
1)用户查看
whoami 查看当前用户
id 查看用户id信息
-u 查看用户的用户id
-g 查看用户的主组id
-G 查看用户的所有组的id
-n 显示名称
2)用户切换
su - username
-切换用户环境
username 如果root…>commonuser 不需要后者密码
如果commonuser…>root 需要密码
如果commonuser…>commonuser 需要密码
注意:在做用户切换时当使用完毕用户身份及时退出
不要在一个shell中反复执行su命令
在一个shell中反复执行su命令会导致环境错乱
4.用户涉及到的系统配置文件
/etc/passwd 用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
/etc/group 组身份信息文件
组名称:组密码:组id:组的附加成员
/etc/skel/.* 用户环境配置文件模板
/etc/shadow 用户认证信息文件
/home/username 用户家目录
5.用户和用户组建立及删除
监控用户建立的命令
watch -n 1 “tail -n 4 /etc/passwd /etc/group;echo=========;ls -l /home“
useradd username 用户建立
- u id username uid 2**16=0-65535
0 表示超级用户
1-200 系统预留id
201-999 系统用户
1000-60000 用户级用户
etc/login.defs 记录用户建立的默认规则
useradd - g id username 主组id
useradd - G id username 附加组id
useradd - d dir username 指定用户家目录
useradd - M username 不创建家目录
useradd - c world username 指定用户说明
useradd - s shell username 指定用户shell
userdel - r username 用户删除 -r 删除用户的系统配置文件
6.用户和用户组的信息管理
usermod -l 更改用户名称
-u 更改用户id
-g 更改主组id
-G 更改用户附加组身份
-aG 添加用户附加组身份
-c 更改用户说明
-d 更改家目录指向
-md 更改家目录指向同时更改家目录说明
-s 更改默认shell
-L 冻结账号
-U 解锁
groupmod -g 更改用户组id
7.用户认证信息管理
1)用户名称
passwd -S lee 查看密码状态
2)用户加密字符
(更改密码)
passwd lee 只有root可以执行“echo 123 | passwd --stdin lee”
passwd 普通用户改密码
changing passwd for user lee.
current password:输入原始密码
new password:输入新密码(8位以上无序数字+无序字母组合)
retype new password: 重新输入
passwd:all authentication tokens updated successfully
冻结认证
passwd -l lee 冻结账号认证
passwd -u lee 解锁账号认证
密码删除
passwd -d lee
密码使用天数
从1970-1-1算其到今天的时间
passwd -e lee 修改默认使用时间为0
chage -d 0 lee 账号必须修改密码才能登陆系统
密码最短有效期
passwd -n 1 lee lee在1天内不能修改密码
chage -m 1 lee
密码最长有效期
passwd -x 40 lee 40天内lee用户必须更新密码否则会被冻结
chage -M 30 lee
密码过期警告
passwd -w 2 lee 账号过期前警告时间
chage -W 1 lee
认证非活跃天数
passwd -i 2 lee 账号认证最大时间超过后还能用多久
chage -I 1 lee
账号认证到期时间
chage -E “2020-05-11“ 到2020-5-11这天账号会被冻结
未启用功能
8.用户权力下放
在系统中普通用户无法执行系统管理命令的,如果需要普通用户执行系统管理动作,那么需要root用户来进行授权
普通用户授权方式“sudo”
作用:可以使普通用户使用指定的用户身份运行命令
授权方法:
visudo 此命令作用是编辑/etc/sudoers并提供语法检测
在文件的100行左右 代码规范性
username hostname=(newusername) [NOPASSWD:] /command,/command1
查看主机名:hostname
查看useradd路径:which useradd
lee用户 在linux.westos.com主机=(用超级用户身份) 执行useradd命令
例:lee linux.westos.com=(root) /usr/sbin/useradd
westos用户 在linux.westos.com 使用超户 免密 执行useradd和userdel
例:westos linux.westos.com=(root) NOPASSWD:/usr/sbin/useradd, usr/sbin/userdel
测试 :
su - lee
sudo useradd westostest 在lee第一次使用sudo命令时需要输入lee密码
exit 退出lee
su - westos
sudo userdel -r westostest westos可以免密执行userdel命令