Linux用户管理&密码管理

【一】用户管理

用户信息监控命令:

watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'   ###每1秒监控passwd文件和group文件的后三行;并查看home的属性   

用户管理所涉及的文件:

/etc/passwd      ##一个表格		
			     ##用户信息文件
			     ##用户名称:密码:uid:gid:说明:家目录:默认shell
                 ##默认shell的指定有哪些可以查看系统文件:/etc/shells 	/etc/group       ##用户组信息文件
		         ##组的名字:组密码:组id:组成员

/etc/shadow      ##认证信息文件
		         ##用户名称:密码(sha512):密码最后一次被更改的时间:密码最短有效期:最长有效期:警告期:密码非活跃天数:帐号到期日:用户自定义未启用

/etc/skel/.*     ##默认开启shell的配置,用户的骨文件

/home/username   ##用户的家目录

【补充:默认shell指定】:

/bin/sh /usr/bin/sh
/bin/bash /usr/bin/bash
/sbin/nologin /usr/sbin/nologin
/bin/tcsh /bin/csh

用户管理所涉及的命令:

watch -n x file(“命令“)   ##监控file/监控命令 ,每X秒监控一下(省去不断输入指令的步骤)

watch -n 1 "tail -n 3 /etc/passwd  /etc/group ; ls -l /home"  ##实时(间隔每一秒)查看“命令”【查看passwd后三行,查看group后三行; 显示/home的所有文件属性】

【增加&删除】

groupadd ###添加用户组
groupdel ###删除用户组
groupadd -g 888 westos ###建立用户组并指定用户组的组id

Linux用户管理&密码管理_第1张图片
Linux用户管理&密码管理_第2张图片

useradd     	  	    ###建立用户    会同时增加一个初始组

注意查看组的变化
Linux用户管理&密码管理_第3张图片

userdel   username 	   ###删除用户,只会删除用户名字,其创建的组还在

【-r】删除所有信息**

userdel -r      westos      ###删除用户    同时会删除用户的家目录文件
 ###【若不加-r:警告:warning:the home directory already exists】###
useradd -u 8888 westos      ###指定用户uid
useradd -g 21   westos      ###指定用户初始组id    【21用户组必须存在】【若没有westos用户,则会创建该用户】
useradd -G 21   westos      ###指定用户的附加组id  【21用户组必须存在】【若没有westos用户,则会创建该用户】
useradd -c hello westos   ###指定用户的说明【hello】
useradd -d /home/lee westos ###指定用户家目录  
useradd -s /bin/sh westos   ###指定用户的默认shell

######在最初的时候通过只有增加删除来进行更改用户信息。

##【更改】##

usermod  -d /home/lee      westos      ###更改用户家目录的指向【实际用户家目录名字不变】【这是给重新指定了目录】 当删除用户时,会发现家目录还是指向在原目录
usermod  -md /home/lee     westos      ###更改用户家目录【实际用户家目录的名字改变】【这是实际上的把目录名字更改】【正确更改方式】
usermod  -l xxx   westos      ###更改用户的名称为xxx
usermod	 -u xxx   westos      ###更改用户的uid为xxx
usermod  -g xxx   westos      ###更改用户的初始组为xxx   【更改的初始组需要存在】
usermod  -G xxx   westos      ###更改用户的附加组为xxx   【连续更改的结果为更换附加组,而不是增加】
usermod  -aG xxx  westos      ###添加一个用户附加组xxx
usermod  -G " "   westos      ###删除用户的附加组【更改为空,即删除】
usermod  -c xxx   westos      ###指定用户的说明文字为xxx    
usermod  -s /bin/sh  westos   ###更改用户的shell【若更改为系统中不存在的shell类型,则可以更改,但无法使用】
usermod  -L       westoss     ###冻结用户【使密码为!】
usermod  -U       westos      ###解锁用户

westos 为现在的用户【即要更改的用户】

########用户建立时,会读取/etc/login.defs ####文件内容确定用户建立规则【可以查看用户组/初始组/附加组的定义范围】


【密码管理】:

密码位置:
/etc/shadow

`westos:!!:17895:0:99999:7:1::`          ###【1】:【2】:【3】:【4】:【5】:【6】:【7】:【8】:【9】
【1】用户名称 
【2】用户密码:                  ###用户的加密字符串,默认用的加密方式为sha512对称加密,如果字符串前出现“!“,那么用户被冻结。
【3】用户密码最后一次被更改时间:   ###此时间计算是从1970-1-1开始计算的累计天数
【4】用户密码最短有效期:          ###如果此位设定数字,那么在此数字范围内的天数内是不能更改用户密码的
【5】用户密码最长有效期:          ###用户必须在此有效期内更改密码,如果超时会被冻结
【6】密码警告期限:               ###密码过期前X天有警告输出
【7】用户非活跃天数:	            ###密码过期后仍可登陆的天数
【8】用户到期日:		            ###用户会在这一天被冻结
【9】用户自定义列: 	            ###目前没有启用

可以“tail -n 3 /etc/shadow”查看系统中用户的密码设定

在这里插入图片描述

更改密码】:

普通用户更改时,
##只输入passwd,不输入名字;
例:passwd
##密码不能和帐号相似,不能是纯数字或纯字母
##不能是有序的组合; 例:123456
普通用户只能更改自己的密码

超级用户更改时,
##输入passwd+名字       ;   例:passwd westos

##对称加密:加密和解密使用同一串字符

watch -n 1 “tail -n 3 /etc/shadow ; echo ====== ; passwd -S westos” ###监控指令,用于查看并管理密码###【echo 文本 :换行输出文本】
###passwd -S或–status命令可以查看某一个用户密码的状态

##用户密码最后一次个更改时间##

`passwd -e westos`         ##改变用户最后一次更改密码的时间:改为0
		       			  ##用户在登陆时会被强制更改密码
						 ##用户在登陆时会被强制更改密码
chage -d 0 westos	 ##设置最后一次更改密码的时间

##用户密码最短有效期##

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

##用户密码最长有效期##

passwd -x 30 westos	 ##westos在30天内必须更改密码
chage  -M 30 westos

##密码警告期限##

passwd -w 2  westos      ##密码过期前两天警告输出
passwd -W 2  westos

##用户非活跃天数##

passwd -i 1 westos	 ##密码过期后仍可以使用的天数
chage  -I 1 westos	 

##用户到期日##

chage  -E 2018-11-11 westos     ##用户在2018-11-11日会被冻结

	                                      大大的小小阳

你可能感兴趣的:(linux爱好者)