A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash: passwd: command not found #Debian apt-get install passwd #Ubuntu apt-get install passwd #Arch Linux pacman -S passwd #Kali Linux apt-get install passwd #CentOS yum install passwd #Fedora dnf install passwd #Raspbian apt-get install passwd
passwd 命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
passwd 命令更改用户帐户的密码。 普通用户只能更改自己帐户的密码,而超级用户可以更改任何帐户的密码。 passwd 还可以更改或重置帐户的有效期-密码过期之前必须经过的时间必须更改。
普通用户在更改自己的密码之前,必须先输入当前密码进行验证(超级用户可以在更改其他用户的密码时跳过此步骤)。
在验证了当前密码之后,passwd 会检查此时是否允许用户更改其密码。 如果不是,则 passwd 拒绝继续并退出。
否则,然后两次提示用户输入替换密码。 这两个条目必须匹配才能使 passwd 继续。
接下来,测试密码的复杂性。 作为一般准则,密码应至少包含6个字符,包括以下每个字符中的一个或多个:
passwd [OPTION] [USER]
-d:删除密码,仅有系统管理者才能使用; -f:强制执行; -k:设置只有在密码过期失效后,方能更新; -l:锁住密码; -s:列出密码的相关信息,仅有系统管理者才能使用; -u:解开已上锁的帐号。
用户名:需要设置密码的用户名。
如果是普通用户执行 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 即可,比如当前操作的用户是 commandnotfound
:
[commandnotfound@localhost ~]$ passwd Changing password for user commandnotfound. # 更改commandnotfound用户的密码; (current) UNIX password: # 请输入当前密码; New UNIX password: # 请输入新密码; Retype new UNIX password: # 确认新密码; passwd: all authentication tokens updated successfully. # 更改成功;
比如我们让某个用户不能修改密码,可以用 -l 选项来锁定:
[root@localhost ~]$ passwd -l commandnotfound # 锁定用户commandnotfound不能更改密码; Locking password for user commandnotfound. passwd: Success # 锁定成功; [commandnotfound@localhost ~]# su commandnotfound # 通过su切换到linuxde用户; [commandnotfound@localhost ~]$ passwd # commandnotfound来更改密码; Changing password for user commandnotfound. Changing password for commandnotfound (current) UNIX password: # 输入commandnotfound的当前密码; passwd: Authentication token manipulation error # 失败,不能更改密码;
清除密码,注意:当我们清除一个用户的密码时,登录时就无需密码,这一点要加以注意。
[root@localhost ~]$ passwd -d commandnotfound # 清除commandnotfound用户密码; Removing password for user commandnotfound. passwd: Success # 清除成功; [root@localhost ~]# passwd -S commandnotfound # 查询commandnotfound用户密码状态: -S, --status; Empty password. # 空密码,也就是没有密码;
与用户、组账户信息相关的文件:
#存放用户信息 /etc/passwd /etc/shadow #存放组信息 /etc/group /etc/gshadow #用户信息文件分析(每项用:隔开) 例如:jack:X:503:504:::/home/jack/:/bin/bash jack # 用户名 X # 口令、密码 503 # 用户id(0代表root、普通新建用户从500开始) 504 # 所在组 : # 描述 /home/jack/ # 用户主目录 /bin/bash # 用户缺省Shell #组信息文件分析 例如:jack:$!$:???:13801:0:99999:7:*:*: jack # 组名 $!$ # 被加密的口令 13801 # 创建日期与今天相隔的天数 0 # 口令最短位数 99999 # 用户口令 7 # 到7天时提醒 * # 禁用天数 * # 过期天数