passwd

    passwd命令 用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

    1. -f:强制执行;
    2. -k:设置只有在密码过期失效后,方能更新;
    3. -l:锁住密码;
    4. -s:列出密码的相关信息,仅有系统管理者才能使用;
    5. -u:解开已上锁的帐号。

    用户名:需要设置密码的用户名。

    与用户、组账户信息相关的文件

    1. /etc/passwd
    2. /etc/shadow

    存放组信息:

    用户信息文件分析(每项用:隔开)

    1. 例如:jack:X:503:504:::/home/jack/:/bin/bash
    2. X  //口令、密码
    3. 503  //用户id(0代表root、普通新建用户从500开始)
    4. 504  //所在组
    5. /home/jack/  //用户主目录
    6. /bin/bash  //用户缺省Shell

    组信息文件分析

    1. 例如:jack:$!$:???:13801:0:99999:7:*:*:
    2. jack  //组名
    3. $!$  //被加密的口令
    4. 13801  //创建日期与今天相隔的天数
    5. 0  //口令最短位数
    6. 99999  //用户口令
    7. 7  //到7天时提醒
    8. *  //禁用天数
    9. *  //过期天数

    普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是linuxde。

    1. Changing password for user linuxde. //更改linuxde用户的密码;
    2. New UNIX password: //请输入新密码;
    3. Retype new UNIX password: //确认新密码;
    4. passwd: all authentication tokens updated successfully. //更改成功;

    比如我们让某个用户不能修改密码,可以用-l选项来锁定:

    1. [root@localhost ~]# passwd -l linuxde //锁定用户linuxde不能更改密码;
    2. Locking password for user linuxde.
    3. passwd: Success //锁定成功;
    4. [linuxde@localhost ~]# su linuxde //通过su切换到linuxde用户;
    5. [linuxde@localhost ~]$ passwd //linuxde来更改密码;
    6. Changing password for user linuxde.
    7. Changing password for linuxde
    8. (current) UNIX password: //输入linuxde的当前密码;

    再来一例: