1.4#linux中的用户管理

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

系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有连个资源配合
身份 account
授权 author
认证 auth
3A机制,组成系统中最底层的安全架构
组分为两大类:初始族(主组) 附加组

2.用户组存在意义

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

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

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

三、 用户切换
1.用户查看
  #whomai					查看当前用户
  #id						查看用户id信息
  #id username				查看指定用户id信息
  #id -u username			查看用户的用户id
  #id -g username			查看用户主组id
  #id -G username			查看用户所有的组的id
  #id -(ugG)n 	显示名称(n不能单独使用)
用户id范围: 0-65535
				0: 			##Linux超级用户ID
				1-999:		##Liunx系统自用ID
				1000-65535	##用户级ID
				以上ID设定规则都被记录在/etc/login.defs

在这里插入图片描述

2.用户切换
 #su -  username	
		-	表示切换用户环境(su和su - 的区别)
			环境不切换命令会被拒绝
		username		
			root ----> commonuser 不需要后者密码
			commonuser ----> root 需要密码
			commonuser ----> commonuser 需要密码
		注意:	在做用户切换时当使用完毕用户身份及时退出
				不要在一个shell中反复执行su命令
				在一个shell中反复执行su命令会导致环境错乱
 #exit		退出

在这里插入图片描述

四、用户涉及到的系统配置文件
/etc/passwd		用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell

在这里插入图片描述

/etc/group		组身份信息文件
组名称:组密码:组id:组的附加成员

在这里插入图片描述

/etc/skel/.* 				用户环境配置文件模板
/etc/shadow					用户认证信息文件
/home/username				用户家目录
/var/spool/mail/username	用户邮箱文件
五、用户和用户组建立及删除

#watch -n 1 “tail -n 3 /etc/passwd; /etc/group;ls -l /home”
监控 每一秒 行数 (;表示前后是两个不同的命令)
+c退出

/etc/login.defs 		记录用户建立的默认规则

#useradd username 					用户建立(新建用户)
#useradd -u id username			指定id(新建用户)
					uid	 		2**16=0-65535
					0 			超级用户
					1-200 		系统预留id
					201-999 	系统用户
					1000-60000	用户级用户
#useradd -g id username		主组id(组存在才能建立)
#useradd -G id username		附加组id
#useradd -d dir username	指定用户家目录
#useradd -M username		建立用户时不建立家目录
#useradd -c word username	指定用户说明
#useradd -s shell username	指定用shell
#userdel -r username 		用户删除 -r 删除用户的系统配置文件
#groupadd groupname			组建立
#groupadd -g id groupname	指定组名称
#groupdel groupname			组删除

在这里插入图片描述

六、用户和用户组的信息管理

#usermod(用户信息更改)
#usermod -l user2 user1 更改用户名称1为2
#usermod -u uid 更改用户id
#usermod -g gid 更改主组id(前提:组id存在)
#usermod -G yyyy 更改用户附加组身份
#usermod -aG yyyy 添加用户附加组身份
#usermod -c “说明”user 更改用户说明
#usermod -d /xx/ user 更改家目录指向
#usermod -md /xx/ user 更改家目录指向同时更改家目录名称
#usermod -s /xx/ user 更改默认shell
#usermod -L 冻结账号
#usermod -U 解锁
#groupmod -g 更改用户组id
在这里插入图片描述

七、用户认证信息管理

#watch -n 1 "tail -n 1 /etc/shadow;echo @@@@;passwd -S user
在这里插入图片描述

用户名称:用户密码的加密字符:密码使用天数:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)
1.用户名称
#ls -ld file	查看文件权限信息	
passwd -S user	查看密码状态
echo————		分隔符
2.用户加密字符

#更改密码)

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

#冻结认证)

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

#密码删除)

#passwd -d user
3.密码使用天数
					从1970-1-1算其到今天的时间
#passwd -e user		密码最后一次被更改的时间清零
#chage -d 0 user	修改默认使用时间为0
chage  -d 18636 lee 修改最后一次密码被更改时间
4.密码最短有效期
#passwd -n 1 user	更改最短有效期   lee在1天内不能改密码
#chage -m 1 user	也可更改最短有效期
5.密码最长有效期
#passwd -x 40 user	40天内user用户必须更新密码否则会被冻结
#chage -M 30 user
6.密码过期前警告
#passwd -w 2 user	更改警报期,密码过期警告
#chage -W 1 user
7.认证非活跃天数
#passwd -i 2 user	更改非活跃天数,账号认证最大时间超过后还能用多久
#chage -I 1 user	也可更改非活跃天数
8.账号认证到期时间
#chage -E "2020-05-11" 	到2020-5-11这天到期,账号会被冻结
9.未启用功能(用户自定义)

在这里插入图片描述

  • 非交互式设定密码
    -echo westos | passwd --stdin lee 表示设置leed的密码为westos
    –echo 显示 stdin 正确输入
八、用户权力下放

ls - l /etc/sudoers 查看权限信息

实验环境:超级用户
①:新建用户lee
②:su - lee切换用户,在lee中确认基本信息:hostname主机名/which useradd文件真实路径
③:切换用户到超级系统,输入#visudo进入编辑(visudo提供检测)
④:输入:100编辑   
	username	hostname=(newusername)				 [NOPASSWD:] /command, /command1
	eg:lee		westos_student50.westos.org=(root)	 [NOPASSWD:]/usr/sbin/useradd, /usr/sbin/userdel
	(lee用户在westos_student50.westos.org主机下以root用户身份执行useradd,userdel命令)
⑤:按:wq退出保存
⑥:在lee中输入#sudo useradd 新用户      建立成功(没有 [NOPASSWD:]需要第一次输入密码)

在这里插入图片描述
在这里插入图片描述

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

授权方法:

#visudo	此命令作用是编辑/etc/sudoers文件,并提供语法检测(vim不提供检测)
在文件的100行左右		代码规范性
username	hostname=(newusername)						[NOPASSWD:] /command, /command1

lee 		linux.westos.com=(root) 					/usr/sbin/useradd
lee用户   	在linux.wesots.com主机=(用超级用户身份)	执行useradd命令

westos		linux.wesots.com = (root)					[NOPASSWD:] /usr/sbin/useradd, /usr/sbin/userdel
westos用户 	在linux.wesots.com 使用超户 	 			免密执行useradd 和 userdel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值