Linux的用户管理
-
用户存在的意义
1)用户及用户组的意义
系统资源是有限的,合理分配系统资源。
1. 身份 acconut
2. 授权 author
3. 认证 auth
3 A机制,3A机制组成系统中最底层的安全架构
2)用户组存在的意义
1. 用户组是一个逻辑容器
2. 对用户进行归类和统一授权
-
用户及用户组在系统中的存在方式
id 名称 :必须记录到文件当中用户才能存在,用户就是 /etc/passwd 文件中的一行字符
用户组:存在的方式就是 /etc/group 文件中的一行字符
-
用户的切换
1)、用户查看
1、whoami :查看当前用户
2、id :查看用户id 信息
- u 查看用户的用户的id
- g 查看用户的组id
-G 查看用户的所有组
-n 显示名称
2)、用户切换
su - username
1. - 切换用户环境
2. username 其他用户切换至超级用户需要输入密码,超级用户切换其他用户不需要输入密码,其他用户之间的切换也需要输入密码。
【注】:在用户切换时当使用完毕,用户及时退出,在一个 shell 中不要反复执行 su 命令,否则会导致系统环境错乱。
-
用户涉及到的系统配置文件
1)、/etc/passwd :用户身份信息
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
2)、/etc/group :组身份信息
组名称:组密码:组id:组的附加成员
3)、/etc/skel .* :用于环境配置文件模板
4)、/etc/shadow :用户认证信息
5)、/home/username :用户家目录
-
用户和用户组的建立及删除
监控用户的建立的命令
watch - n 1 "tail -n 4 /etc/passwd /etc/grooup ; echo ========;ls - l /home"
useradd username 用户的建立
- u id username uid:0 表示超级用户;1 - 200 系统预留 id ;201 - 999 系统预留用户;1000 - 60000 用户级用户; /etc/login.denfs 记录用户建立的默认规则
- g id username 主组id
- G id username 附加组id
- d dir username 指定用户家目录
- c word username 指定用户说明
- s shell username 指定用户使用的shell
userdel - r username 用户删除,- r 删除用户的系统配置文件
groupadd groupname 组建立
groupadd - g id groupname gid,指定组的id
groupdel groupname 删除组
-
用户和用户组的信息管理
usermod
- l 更改用户名称
- u 更改用户id
- g 更改主组id
- G 更改用户附加组身份
- aG 添加用户附加组身份
- c 更改用户说明
- d 更改家目录指向
- md 更改家目录指向同时更改家目录名称
- s 更改默认shell
- L 冻结账号
- U 解锁
groupmod -g 更改用户组id -
用户认证信息管理
监控:
1、用户名称
passwd - S lee 查看密码状态
2、用户加密字符
更改密码
passwd lee 只有root可以执行“ echo 123 | passwd -- stdin lee”
passwd 普通用户改密码
Changing password for user linux.
Current password: 输入原始密码
New password: 输入新密码
Retype new password: 重复输入
passwd: all authentication tokens updated successfully.
冻结账号
passwd - l lee 冻结账号认证
passwd - u lee 解锁账号认证
密码删除
passwd - d lee
密码使用天数 (从1907-1-1算到今天的时间)
passwd -e lee 修改默认使用时间为0
chage -d 10 lee 账号必须改密码才能登录系统
密码最短有限期
passwd -n 1 lee 1天内不能改密码
chage - m 10 lee
密码最长有效期
passwd -x 40 lee 40天内lee用户必须更新密码否则会被冻结
chage -M 40 lee
密码过期警告
passwd - w 2 lee 过期前警告时间
chage -w 2 lee
认证非活跃天数
passwd - i 2 lee 过期后还可以用几天
chage - I 2 lee
账号认证到期时间
chage - E "2020-10-14" 到2020-10-14这天过期
-
用户权利下放
在系统中普通用户无法执行系统管理命令,如果需要管理普通用户执行系统动作则需要 root 用户来进行授权
授权方法:
visudo 此命令作用是编辑 /etc/sudoers 并提供语法检测
在100行左右添加代码 (在100行主要是因为代码规范性)
username hostname = (newusername) [NOPASSWD:] /command , /command1
lee用户 在 主机=(用超级用户身份) 执行useradd 命令
lee linux.westos.com=(root) /usr/sbin/useradd
westos用户 在 主机=(用超级用户身份) 免密 执行useradd ,userdel命令
westos linux.westos.com=(root) NOPASSWD: /usr/sbin/useradd , /usr/sbin/userdel
sudo :在使用时,前面加 sudo