1.4 Linux系统中的用户管理

用户及用户组存在的意义

系统资源是有限的,如何合理分配系统资源?

用户存在的意义

用户是操作者在系统中的身份标识,用户的存在是为了限制权限

身份 account
授权 author
认证 auth
**3A机制组成系统中最底层的安全架构

用户组存在的意义

用户组是一个逻辑容器,是用户的集合,方便对用户进行归类和统一授权

用户及用户组在系统中的存在方式

计算机对数字敏感------------------>id
人类对字符串敏感------------------>名称
id<------------>名称 用户信息必须被记录到文件中用户才能存在
用户就是/etc/passwd文件中的一行字符
用户组就是/etc/group 文件中的一行字符

用户切换

用户查看

whomai 				##查看当前用户
*****************************************************************
id 					##查看用户id信息
	-u 		##查看用户的用户id
	-g 		##查看用户主组id
	-G 		##查看用户所有的组的id
	-n 		##显示名称
用户id范围:
0-65535
0: 				##Linux超级用户ID
1-999: 		##Liunx系统自用ID
1000-65535: 	##用户级ID
**以上ID设定规则都被记录在/etc/login.defs

用户切换

su - username
		- #切换用户环境
		username ##如果root ----> commonuser 不需要后者密码
##commonuser ----> root 需要密码
##commonuser ----> commonuser 需要密码

*注意:在做用户切换时当使用完毕用户身份及时退出
不要在一个shell中反复执行su命令,在一个shell中反复执行su命令会导致环境错乱

用户涉及到的系统配置文件

/etc/passwd 					##用户身份信息文件
	用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell 
/etc/group 						##组身份信息文件
	组名称:组密码:组id:组的附加成员
/etc/skel/.* 					##用户环境配置文件模板
/etc/shadow 					##用户认证信息文件
/home/username 					##用户家目录
/var/spool/mail/username 		##用户邮箱文件

用户和用户组建立及删除

使用如下命令可监控用户的建立及删除过程

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 记录用户建立的默认规则
		-g id username 		##主组id
		-G id username 		##附加组id
		-d dir username 	##指定用户家目录
		-M username 		##建立用户时不建立家目录
		-c word username 	##指定用户说明
 		-s shell username 	##指定用shell

删除用户

userdel -r username 		##用户删除 -r 删除用户的系统配置文件

用户组的建立

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

用户认证信息管理

用户认证信息保存在/etc/shadow文件里

/etc/shadow 文件内容说明
用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)

用户名称

passwd -S song				##查看密码状态

用户密码加密字符
更改密码

passwd song 				##只有root可以执行 “echo 123 | passwd --stdin lee”
*******************************
passwd 						##普通用户改密码
Changing password for user song.
Current password: 	#输入原始密码
New password: 	#输入新密码(8位以上无序数字+无序字母组合)
Retype new password: 	#重复输入
passwd: all authentication tokens updated successfully.

冻结认证

passwd -l lee 				##冻结账号认证
passwd -u lee 				##解锁账号认证

密码删除

passwd -d song				##删除用户密码

密码使用天数(从1970-1-1算其到今天的时间)

passwd -e song				##修改默认使用时间为0
chage -d 0 song 			##账号必须改密码才能登陆系统

密码最短有效期

passwd -n 1 song 			##song在1天内不能改密码
chage -m 1 song				##song在1天内不能改密码

密码最长有效期

passwd -x 40 song 			##40天内song用户必须更新密码否则会被冻结
chage -M 30 song			##30天内song用户必须更新密码否则会被冻结

密码过期警告

passwd -w 2 song 			##账号过期前2天警告
chage -W 1 song				##账号过期前1天警告

认证非活跃天数

passwd -i 2 song 			##账号认证最大时间超过后还能用2天
chage -I 1 song				##账号认证最大时间超过后还能用1天

#账号认证到期时间

chage -E "2021-11-11" 		##到2021-11-11这天账号会被冻结

#未启用功能

用户权力下放

系统中普通用户无法执行系统管理命令,如果需要普通用户执行系统管理动作那么需要root用户来进行授权
普通用户获取授权方式”sudo“,可以使普通用户使用指定的用户身份呢运行命令
授权方法:

visudo 						##此命令作用是编辑/etc/sudoers并提供语法检测
*************************************
*在文件的100行左右 		##代码规范性
username hostname=(newusername) [NOPASSWD:] /command, /command1
*************************************
song用户在song.org主机=(用超级用户身份) 执行useradd命令
 song 		song.org=(root)			/usr/sbin/useradd
*************************************
lee用户 在song.org使用超级用户		免密 	执行useradd 和 userdel
lee		song.org=(root)		NOPASSWD: 	/usr/sbin/useradd, /usr/sbin/userdel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值