linux操作之用户的管理

user用户 回收权限
group组 共享权利
一个用户只有一个输出组,可有无限个附加组
1.用户的查看

(1)查看当前用户
    whoami         ##查看当前用户
(2)系统中用户的查看
    id             ##查看指定用户id信息
    id      -u     ##查看用户的uid(标示用户)
    id      -g     ##查看用户的gid(标示用户组)
    id	    -G     ##查看用户所在的所有组
    id      -n     ##显示名字而不显示数字id	

在这里插入图片描述2.用户切换

   su - 用户名称
   su - 中‘-’标示在用户身份切换时同时切换当前用户的环境
	     不加‘-’时只改变用户身份名称不改变用户环境
	      echo $PATH查看环境变量,(执行命令所存在的路径---命令执行后,先搜索路径)
   su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级用户需要密码
低级切换到低级也需要密码


   ***注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用
户(每次切换就会多出一个bash进程,所以操作完之后需要及时退出)

在这里插入图片描述

3.用户在系统中的存储方式

/etc/passwd
       用户信息文件        可用vim打开
	   用户名称:密码:uid:gid:说明:家目录:默认shell
 	   说明:默认shell的指定有哪些可以查看系统的/etc/shells文件
/etc/group
 	   用户组信息文件      可用vim打开
	   组的名字:组密码:组id:组成员
/etc/shadow
	   认证信息文件
	   内容:用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户
	   密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列,目前没有启用
/etc/skel/.*
	   默认开启shell的配置,用户的骨文件
/home/username
	   用户的家目录

用户信息文件
在这里插入图片描述
用户组信息文件
在这里插入图片描述
认证信息文件内容
在这里插入图片描述

4.用户管理命令

用户切换
   gnome-session-quit --force   ##注销当前用户,,再用其他用户登录

(1)用户的删除
	userdel +用户名       ##删除用户但不删除用户的配置文件
	userdel -r +用户名    ##删除用户并删除用户的配置文件
(2)用户的建立
用户信息监控命令
	watch -n 1 'tail -n 3 /etc/passwd  /etc/group;ls -l /home'


useradd        	   ##建立用户,建立用户时,读取/etc/login.defs文件内容确定规则

useradd -u 2333 +用户名   		##指定用户的uid
useradd -g 2333 +用户名   		##指定用户初始组id,“23333端口所在用户组必须存在”
useradd -G 2333 +用户名	   		##指定用户附加组id,“2333端口所在用户组必须存在”
useradd -c “hihi” +用户名 		##指定用户的说明
useradd -d /home/lee +用户名     ##指定用户的家目录
useradd -s /bin/sh +用户名       ##指定用户的默认shell


groupadd               			##建立用户组
groupadd -g 888 +组名  			##建立用户组并指定用户组的id
groupdel        +组名  			##删除用户组

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

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

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

(3)用户修改
usermod 修改用户信息
usermod -l 更新以后的名字 用户 ##更改用户名称
在这里插入图片描述
在这里插入图片描述
usermod -u 更新以后的用户id 用户 ##更改用户id
在这里插入图片描述
usermod -g 更改以后的用户初始组 用户 ##更改初始组
在这里插入图片描述
usermod -G 更改以后的用户附加组 用户 ##更改附加组
在这里插入图片描述
备注: usermod -G “” 用户 ##可删除用户所有附加组
在这里插入图片描述
usermod -aG添加的用户附加组 用户 ##添加附加组(保持原附加组不变)
也可用"usermod -G 附加组1,附加组2 用户" 直接给用户赋予两个附加组
在这里插入图片描述
usermod -c “说明文字” 用户 ##指定用户的说明文字
在这里插入图片描述
usermod -d /home/kiosk/ 用户 ##更改用户家目录指向,(不能更改家目录的名字)
在这里插入图片描述
usermod -md /home/kiosk/ 用户 ##更改用户家目录(指向和家目录名字都更改)
-md的顺序不能改变
在这里插入图片描述
usermod -s /bin/sh 用户 ##更改用户的shell
在这里插入图片描述
usermod -L 用户 ##冻结锁定用户
passwd 用户 更改用户密码,(新建用户登陆前需要设定密码才能登陆)
usermod -U 用户 ##解锁用户
通过区别虚拟机登陆界面是否有用户名,来判断用户是否在锁定中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)用户信息

用户信息存储位置 : /etc/shadow
在这里插入图片描述

   qwq:!!:17894:0:99999:7:  :  :  :
    1   2   3   4  5    6  7  8  9 

(1)用户名,qwq
(2)用户密码,!!
用户的加密字符串,默认用的加密方式为sha512(md5–对称加密)
如果加密字符串前出现"!"那么用户被冻结
(3)用户密码最后一次被修改时间,:17894
此时间默认计算是从1970-1-1开始计算的累计天数17894
(4)密码最短有效期,:0
如果此位有设定数字,那么在此数字范围内的天数是不能修改密码
(5)密码最长有效期,:99999
用户必须再次有效期内更新密码,如果过了最长有效期用户会被冻结锁定
(6)密码警告期限,:7
密码过期提示时间,在过期前指定天数内会发送警告信息给用户
(7)非活跃天数
此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数
非活跃日期帐号到期时间(过了有效日期,再给最后的日期来改密码)
(8)用户到期日:
自动过期时间-----默认为空,表示帐号一定会被冻结的时间点(不管是否修改密码都将过期)
(9)用户自定义列(目前未启用)

用户密码最后一次被更改时间
passwd -e 用户 ##会默认改变用户最后一次更改密码时间为0
##用户在登陆时会被强制更改密码
在这里插入图片描述
chage -d 指定数字 用户 ##相比于passwd可指定数字,其他相同
在这里插入图片描述
用户密码最短有效期
passwd -n 3 用户 ##用户在3天之内不能修改密码
chage -m 1 用户
在这里插入图片描述
在这里插入图片描述
用户密码最长有效期
passwd -x 30 用户 ##设定用户在30天内必须改密码
在这里插入图片描述
chage -M 40 用户 #设定在40天内必须改密码
在这里插入图片描述
#####密码警告期限
passwd -w 1 用户 ##密码过期前一天会有警告
chage -W 1 用户
在这里插入图片描述
在这里插入图片描述
非活跃天数
passwd -i 1 用户 ##密码过期后仍可以登陆系统的天数
在这里插入图片描述
chage -I 1 用户 #注意是大写i
在这里插入图片描述
用户到期日
chage -E 2019-1-10 用户 用户在2019-1-10后会被冻结
(更改后不会直接显示出来,而是修改了用户密码最长有效期)
在这里插入图片描述
(默认值用-1表示)

#########用户密码############
watch -n 3 tail -n 3 /etc/shadow 监视窗口

passwd -S 用户名 ##查看用户密码信息

passwd +用户名 	 ##修改密码
(1只有超级用户才可修改别的普通用户的密码,
  2如果普通用户下执行会出现current UNIX passwd:(原密码)new passwd(新密码)则只能修改自己的密码)

在这里插入图片描述
passwd -d ##删除密码,清空用户的密码
在这里插入图片描述
passwd -l ##锁定密码,在监视窗口中可看到用户密码前会加上一个“!!”
在这里插入图片描述
usermod -L ##冻结用户,也可以锁定密码,但锁定权限不高,在监视窗口中可看到用户密码前会加上“!”##和上一个相比,“!!”表示锁定的权限更高
在这里插入图片描述
passwd -u ##解锁密码,可以消除"!!"
在这里插入图片描述
usermod -U ##用户,在密码不为空时使用
注意:
普通用户修改密码时
1.必须知道当前用户的原始密码
2.修改的密码不能和帐号名称相似
3.密码不能是纯数字或者纯字母
4.密码不能是有序的字母和数字的组合

用户授权
hostname查看本机主机名
在这里插入图片描述
1.权力下放文件为/etc/sudoers
此文件可以用vim直接编辑,但不提供语法检测,所以不提倡使用
也可以使用visudo命令编辑此文件,visudo命令是提供语法检测的,(常用)
2.下放方式
visudo 直接使用,后面无需加路径
100行左右

用户 主机名称=(得到的用户身份,比如root) 命令目录

root       ALL                                      ALL
xixi      locahost=(root)  /usr/sbin/useradd    ##xixi用户可以在locahost
                                                  主机以root身份执行useradd命令
xixi     locahost=(root) 	 	                NOPASSWD:/usr/sbin/useradd
##xixi用户可以在locahost主机以root用户身份免密执行useradd  

在这里插入图片描述
3.授权后的执行

切换用户后

命令行输入:sudo useradd hello ##必须加sudo才可执行

(1)需要密码执行useradd
在这里插入图片描述
(2)免密执行useradd
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qwqq233/article/details/85333019