chage
更改用户密码过期信息
chage 【选项】登录名
常用选项:
-d:指定密码最后修改日期
-E:密码到期的日期,过来这天此账号不可用,0表示马上过期,-1表示永不过期
-W:密码过期钱,提前收到警告信息的天数
-m:密码可以更改的最小天数间隔
-M:密码保持有效的最大天数
id
显示用户的真实有效UID
-u:仅显示有效的UID
-g:仅显示用户的基本组ID
-G:仅显示用户所属的所有组的ID
-n:显示名字而非ID
passed
passwd 修改用户密码yyy
参数
-k 保持未过期身份验证令牌
-l 关闭账号密码。效果相当于usermod -L,只有root才有权使用此项。
-u 恢复账号密码。效果相当于usermod -U,同样只有root才有权使用。
-g 修改组密码。gpasswd的等效命令。
-f 更改由finger命令访问的用户信息。
-d 关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备 root 权限的使用者方可使用.
-S 显示指定使用者的密码认证种类, 只有具备 root 权限的使用者方可使用
cat /etc/passwd字段描述如下:
account
使用者在系统中的名字,它不能包含大写字母.
password
加密的用户密码,或者星号。
UID
用户 ID 数。
GID
用户的主要组 ID 数。
GECOS
这字段是可选的,通常为了存放信息目的而设的.
directory
用户的 $HOME 目录.
shell
登录时运行的程序(如果空的,使用 /bin/sh). 如果设为不存在的执行(程序),用户不能通过 login(1) 登录.
实现passwd功能的其他方法之通过shell脚本实现:
建立一个脚本文件,例:#vim userchange.sh

然后在脚本文件内输入内容,以下只是添加了三个功能,后续可自行添加:
#!/bin/bash
while true
do
cat << EOF
1.锁定账号 |
2.解锁账号 |
3.清除密码 |
4.退出 |
EOF
read -p “请输入要执行操作的菜单号:” number
case $number in
1)
read -p “请输入您要锁定的账号:” lockuser
passwd -l $lockuser
;;
2)
read -p “请输入您要解锁的账号:” unlockuser
passwd -u $unlockuser
;;
3)
read -p “请输入您要清除密码的账号:” cleanpasswd
passwd -d $cleanpasswd
;;
4)
exit
;;
*)
echo “请输入 123 !”
esac
done
为防止我们忘却这个脚本文件,更方便记忆与使用我们写的这个脚本文件,我们有以下三个方法:
方法一、
将这个脚本文件设为自定义命令,假设这个命令我们起名为Mytoolbox翻译为“我的工具箱”并赋予可执行权限:
[root@chenyi ~]#mv userchange.sh Mytoolbox
[root@chenyi ~]#chmod +x Mytoolbox
为了使该命令可以在任意目录下执行,需要将其添加到环境变量中去:
查看环境变量
|[root@chenyi ~]#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/data:/root/bin
移动:[root@chenyi ~]#mv Mytoolbox /usr/local/sbin
执行命令[root@chenyi ~]#Mytoolbox
方法二、
直接将userchange.sh移动到移动到一个特定目录中,然后将目录添加到环境变量中
我们在/opt/目录下创建一个script,然后将脚本文件移动到/opt/script中:
mv userchange.sh /opt/script
然后将/opt/script添加到环境变量中,操作如下:
vim /etc/profile,再最后一行