语法:passwd[username]

等创建完账户后,默认是没有设置密码的。虽然没有密码,但该账户同样登录不了系统。只有设置好密码后才可以登录系统。在为用户创建密码时,安全起见,请尽量设置复杂一些。

建议按照以下规则设置密码:

(1)长度大于10个字符;

(2)密码中包含大小写字母数字以及特殊字符 * 、& 、%等;

(3)不规则性(不要出现happy、love、Linux、7758520等等单词或者数字;)

(4)不要带有自己名字、公司名字、自己电话、自己生日等。

[root@qiangzi ~]# passwd

更改用户 root 的密码 。

新的 密码:

重新输入新的 密码:

passwd: 所有的身份验证令牌已经成功更新。

passwd后面不加username则是修改当前账户的密码

如果你登录的是root账户,后面可以跟普通账户的名字,意思是修改指定账户的密码。

只有root才可以修改其他账户的密码,普通账户只能修改自己的密码,其他账户的密码是不可以修改的。

命令:mkpasswd

这个命令是用来生成密码,省的自己去想。默认我们安装的Linux是没有这个命令的,需要安装一个包“expect”。

[root@qiangzi ~]# yum install -y expect

[root@qiangzi ~]# mkpasswd

qea2Ue;X3

有时,我们需要生成指定长度的密码mkpasswd命令也可以满足,比如生成12位长的密码:

[root@qiangzi ~]# mkpasswd -l 12

8natm\FHa2mj

还可以指定密码中有几个特殊字符,和几个数字

[root@qiangzi ~]# mkpasswd -l 12 -s 0 -d 3

aonQ3s02irUw

-s 指定特殊字符的个数,-d指定数字的个数。这个随机字符串作为密码再好不过了,只不过它不容易记忆。

下面介绍两种一条命令搞定修改用户密码,比较适合用在shell脚本中

(1)echo -e "yourpasswd\nyourpasswd"|passwd user1

(2)echo "yourpasswd"|passwd --stdin user1

第一种方法,echo -e可以使用换行符\n,这样相当于我们人工打了一次回车

第二种方法,--stdin是passwd命令的一个选项。