(3).更改用户信息
首先我们用watch命令建立监控命令,使用useradd建立一个名为“westos“的用户,然后使用下列命令对用户信息进行更改。
usermod -l 新名字 旧名字 ----->更改用户名字
usermod -G 666 westos ------->更改附加组
usermod -aG 555 westos ------>添加附加组
usermod -G "" westos ------>删除附加组
usermod -u 666 westos ------> 更改uid
usermod -g 666 westos ------> 更改gid
usermod -c "westos user" westos -------> 更改说明
cat /etc/shells 查看shell脚本文件
usermod -s bin/bash westos---------> 更改shell(要更改的shell必须存在在上面的shell脚本文件中)
usermod -d /home/user westos --------> 更改家目录 ( 这条命令之改变了系统对用户家目录的路径指向,并没有改变家目录的名字)
更改前
更改后 :可以看出系统的家目录并没有改变,此时利用su命令切换用户到westos会发现,切换失败。如上所述,这样的切换只能改变家目录指向并不能改变家目录名称。
usermod -md /home/user ------------> 更改家目录 (名称也更改)
此时家目录名称由westos变为hello,且用户身份切换命令也执行成功
用户密码管理相关命令
设置密码
passwd 用户名
设置完密码就可以正常登陆用户
usermod -L westos -------> 锁定用户
当锁定用户westos的命令执行后,登陆界面westos用户选择项就消失了
usermod -U westos ------> 解锁用户
解除锁定后,用户westos的选择项出现
7.用户认证信息
vim /etc/login.defs ------>查看默认信息
/etc/shadow------->用户密码文件
用户认证信息解释
此文件一共九列
【1】westos ------->用户名;
【2】!! ------->密码:用户的加密字符串,默认用的加密方式为sha512对称加密,如果加密字符串前出现“!”,那么表示用户被冻结;
【3】17898------->用户密码最后一次被修改时间,此时间是从1970-1-1(计算机元年)开始算起;
【4】0 -------->密码最小有效日期,如果此位有设定,那么在此数字的天数内是不能修改用户密码的;
【5】99999------->密码最大有效日期,如果此位有设定,那么在此数字的天数后密码到期;
【6】7------>密码警告期限,假如此位设定7,那么在用户密码过期前七天开始提醒用户密码即将到期;
【7】用户非活跃天数:如果设定数值7,那么在密码最长有效期限过后7天用户将会被冻结;
【8】帐号到期日,用户将在这一天被冻结;
【9】用户自定义列;
建立用户监控命令,实时监控用户westos的用户认证信息和密码信息,然后用下列命令进行实验,观察变化
passwd westos ##更改用户密码
passwd -l westos ##在用户密码前加"!!"(比usermod程度强)
passwd -u westos
usermod -L westos ##在用户密码前加入“!”
usermod -U westos ##在密码不为空时使用,消除“!”
passwd -d westos ##清空westos密码
注意
普通用户改密码时
1.必须知道当前原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯密码
4.密码不能是有序的字母和数字的组合
用户密码最后一次被更改的时间
passwd -e westos ##会改变用户westos最后一次更改密码时间为0,用户在登陆时会被强制更改密码
chage -d 0 westos ##两个命令功能类似
修改用户密码最短有效期
passwd -n 1 westos ##westos用户在1天之内不能修改密码
chage -m 1 westos
用户密码最长有效期
passwd -x 30 westos ##设定westos用户在30天内必须修改密码
chage -M 40 westos
密码警告期限
passwd -w 2 westos ##密码过期前两天有警告输出
chage -W 2 westos
用户非活跃天数
passwd -i 1 westos ##密码过期后仍可登录系统的天数
chage -I 1 westos
用户到期日
chage -E 2018-11-11 westos ##westos用户在2018-11-11日会被冻结
用户自定义列,目前没有启用
8.用户授权
为什么要进行用户授权呢?
当我们在系统中切换到一个新的用户身份时,有的命令在原来的系统设定中被允许执行,但有的权力(例如使用新建的用户身份,进行useradd命令建立新的用户)并没有被系统允许,此时我们便需要给予这个用户此项权力。
(1).权力下放文件为/etc/sudoers。
此文件可以用vim命令直接编辑,但是不提供语法检测;也可以使用visudo编辑此文件,visudo 命令是提供语法检测的。
(2).下放方式-------> visudo
大概在文件100行左右
用户 主机名称 命令
tom localhost=(root) /usr/sbin/useradd ##tom用户可以在localhost主机以root用户身份执行useradd命令
tom localhost=(root) NOPASSWD : /usr/sbin/useradd ##tom用户可以在localhost主机以root用户身份免密执行useradd命令
在98 行“ root ALL=(ALL) ALL”后添加上述命令行
添加完,按ESC---->:wq退出保存。
(3).测试是否授权成功
su - westos ##先切换用户
sudo useradd hello
上面我们在添加命令行中时有输入NOPASSWD,现在提示输入密码,证明在授权过程中存在错误,control+c结束当前命令,然后切换到root,用命令visudo重新授权
错误原因:主机名logon错误------->bogon
重新测试------->授权成功