文章目录
前言
三分钟搞懂Linux系统中的用户管理。
一、用户及用户组存在的意义
1. 用户存在的意义
系统资源是有限的,如何合理分配系统资源?
只有有用户身份才能对不同用户进行资源分配和授权,这样才能保证我们的系统资源得到合理分配,保证系统稳定。
1.身份 account
2.授权 author
3.认证 auth
3A机制,3A机制组成系统中最底层的安全架构
2. 用户组存在的意义
用户组是一个逻辑容器,对用户进行归类和统一授权。
二、用户及用户组在系统中的存在方式
电脑对数字敏感 id
人类对字符串敏感 名称
id <-------> 名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group 文件中的一行字符
三、用户切换
用户查看
whomai : 查看当前用户
id : 查看用户id信息
-u : 查看用户的用户id
-g : 查看用户主组id
-G : 查看用户所有的组的id
-n : 显示名称
用户切换
su - username : 切换用户环境
“-” : 切换当前用户的同时,切换当前用户所在系统的环境。
username的三种情况 :
1.如果root ----> commonuser 不需要后者密码
2.commonuser ----> root 需要密码
3.commonuser ----> commonuser 需要密码
#注意:在做用户切换时当使用完毕用户身份及时退出
#不要在一个shell中反复执行su命令
#在一个shell中反复执行su命令会导致环境错乱
四、用户及用户组的增加与删除
使用以下代码,可以监控用户和用户组的信息。
watch -n 1 "tail -n 3 /etc/passwd /etc/group; ls -l /home"
在另一个shell中增加删除用户和用户组,可以在其中显示出来。
用户建立与删除
useradd username : 用户建立
-u id username :uid 2**16=0-65535
———— 0 表示超级用户
————1-200 系统预留id
———— 201-999 系统用户
————1000-60000 用户级用户
———— /etc/login.defs 记录用户建立的默认规则
-g id username :主组id
-G id username :附加组id
-d dir username :指定用户家目录
-M username :建立用户时不建立家目录
-c word username :指定用户说明
-s shell username :指定用shell
userdel -r username :用户删除 -r 删除用户的系统配置文件
建立完用户删除时使用“-r”参数删除配置文件。
userdel -r test1
组的建立与删除
groupadd groupname :组建立
-g id groupname :指定组名称
groupdel groupname :组删除
五、用户和用户组的信息管理
usermod
-l : 更改用户名称
-u : 更改用户id
-g : 更改主组id
-G : 更改用户附加组身份
-aG : 添加用户附加组身份
-c : 更改用户说明
-d : 更改家目录指向
-md : 更改家目录指向同时更改家目录名称
-s : 更改默认shell
-L : 冻结账号
-U : 解锁
groupmod -g : 更改用户组id
六、用户认证信息管理
使用以下命令查看用户密码信息。
watch -n 1 tail -n 1 /etc/shadow
其中各信息分别代表:
用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)
1.用户名称
passwd -S lee : 查看密码状态
2.用户加密字符
更改密码
passwd lee : 只有root可以执行 “echo 123 | passwd --stdin lee”
passwd : 普通用户改密码
Changing password 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
3.密码使用天数
*从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这天账号会被冻结
七、用户权力下放
在系统中普通用户时无法执行系统管理命令的,如果需要普通用户执行系统管理动作那么需要root用户来进行授权
普通用户授权方式 “sudo”
作用
可以使普通用户使用指定的用户身份呢运行命令
授权方法:
visudo : 此命令作用是编辑/etc/sudoers并提供语法检测
在文件的100行左右:代码规范性
username hostname=(newusername) [NOPASSWD:] /command, /command1
lee用户 在linux.wesots.com主机=(用超级用户身份) 执行useradd命令
lee linux.westos.com=(root) /usr/sbin/useradd
westos用户 在linux.wesots.com 使用超户 免密 执行useradd 和 userdel
westos linux.wesots.com = (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel