5_Linux 系统中的用户管理

5_Linux 系统中的用户管理

文章目录

  • 5_Linux 系统中的用户管理
    • 一、用户及用户组存在的意义
    • 二、用户及用户组在系统中的存在方式
    • 三、用户切换
    • 四、用户涉及到的系统配置文件
    • 五、用户和用户组建立及删除
    • 六、用户和用户组的信息管理
    • 七、用户认证信息管理
    • 八、用户权力下放


一、用户及用户组存在的意义

  • 1)用户存在的意义
    • 系统资源是有限的,如何合理分配系统资源?
    • 在这个问题解决时必须要有连个资源配合
      • 1.身份 account
      • 2.授权 author
      • 3.认证 auth

3A机制,3A机制组成系统中最底层的安全架构

  • 2)用户组存在意义

用户组是一个逻辑容器
对用户进行归类和统一授权


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

电脑对数字敏感 id
人类对字符串敏感 名称
id <-------> 名称 必须要记录到文件当中用户才能存在
用户就是 /etc/passwd 文件中的一行字符
用户组存在的方式就是 /etc/group 文件中的一行字符


三、用户切换

  • 1)用户查看
whomai 		##查看当前用户
id 				##查看用户id信息
		 -u 		##查看用户的用户id
		 -g 		##查看用户主组id
		 -G 		##查看用户所有的组的id
		 -n 		##显示名称
  • 2)用户切换
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	##用户家目录


五、用户和用户组建立及删除

监控用户建立的命令
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


七、用户认证信息管理

  • 1)用户名称
passwd -S lee 		##查看密码状态
  • 2)用户加密字符
#更改密码
passwd lee 		##只有root可以执行 “echo 123 | passwd --stdin lee”
Changing password for user lee.
Current password: 		#输入原始密码
New password: 		##输入新密码(8位以上无序数字+无序字母组合)
Retype new password: 		##重复输入
passwd: all authentication tokens updated successfully.

passwd 				##普通用户改密码

#冻结认证
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这天账号会被冻结
#未启用功能


八、用户权力下放

在系统中普通用户时无法执行系统管理命令的
如果需要普通用户执行系统管理动作那么需要
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



你可能感兴趣的:(linux,服务器,运维)