You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.2 KiB

passwd

用于让用户可以更改自己的密码

补充说明

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

语法

passwd(选项)(参数)

选项

选项:
-a, --all                     报告所有帐户的密码状态
-d, --delete                  删除指定帐户的密码
-e, --expire                  强制使指定帐户的密码过期
-h, --help                    显示此帮助信息并推出
-k, --keep-tokens             仅在过期后修改密码
-i, --inactive INACTIVE       密码过期后设置密码不活动为 INACTIVE
-l, --lock                    锁定指定的帐户
-n, --mindays MIN_DAYS        设置到下次修改密码所须等待的最短天数
为 MIN_DAYS
-q, --quiet                   安静模式
-r, --repository REPOSITORY   在 REPOSITORY 库中改变密码
-R, --root CHROOT_DIR         chroot 到的目录
-S, --status                  报告指定帐户密码的状态
-u, --unlock                  解锁被指定帐户
-w, --warndays WARN_DAYS      设置过期警告天数为 WARN_DAYS
-x, --maxdays MAX_DAYS        设置到下次修改密码所须等待的最多的天数为 MAX_DAYS
### 参数  

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

### 知识扩展  

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

存放用户信息:

/etc/passwd /etc/shadow


存放组信息:

/etc/group /etc/gshadow


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

例如jack:X:503:504:::/home/jack/:/bin/bash jack  //用户名 X  //口令、密码 503  //用户id0代表root、普通新建用户从500开始 504  //所在组 :  //描述 /home/jack/  //用户主目录 /bin/bash  //用户缺省Shell


组信息文件分析

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


### 实例  

如果是普通用户执行passwd只能修改自己的密码。如果新建用户后要为新用户创建密码则用passwd用户名注意要以root用户的权限来创建。

[root@localhost ~]# passwd linuxde //更改或创建linuxde用户的密码 Changing password for user linuxde. New UNIX password: //请输入新密码; Retype new UNIX password: //再输入一次; passwd: all authentication tokens updated successfully. //成功;


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

[linuxde@localhost ~]$ passwd Changing password for user linuxde. //更改linuxde用户的密码 (current) UNIX password: //请输入当前密码; New UNIX password: //请输入新密码; Retype new UNIX password: //确认新密码; passwd: all authentication tokens updated successfully. //更改成功;


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

[root@localhost ~]# passwd -l linuxde //锁定用户linuxde不能更改密码 Locking password for user linuxde. passwd: Success //锁定成功;

[linuxde@localhost ~]# su linuxde //通过su切换到linuxde用户 [linuxde@localhost ~]$ passwd //linuxde来更改密码 Changing password for user linuxde. Changing password for linuxde (current) UNIX password: //输入linuxde的当前密码 passwd: Authentication token manipulation error //失败,不能更改密码;


再来一例:

[root@localhost ~]# passwd -d linuxde //清除linuxde用户密码 Removing password for user linuxde. passwd: Success //清除成功;

[root@localhost ~]# passwd -S linuxde //查询linuxde用户密码状态 Empty password. //空密码,也就是没有密码;


注意:当我们清除一个用户的密码时,登录时就无需密码,这一点要加以注意。


<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->