交互式密码
[root@lixian ~]# passwd lixian root用户设置其他用户的密码 Changing password for user lixian. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully.
只有root用户才可以修改其他用户的密码
普通用户只能修改自己的密码,必须是8位无序的密码,而且需要旧密码
[root@lixian ~]# su lixian [lixian@lixian root]$ passwd Changing password for user lixian. Changing password for lixian. (current) UNIX password: passwd: Authentication token manipulation error
免交互式密码
echo将密码输出,然后用管道将数字交给后面设置密码处理
[root@lixian ~]# echo '123456' |passwd --stdin lixian --stdin 标准输出 Changing password for user lixian. passwd: all authentication tokens updated successfully.
随机密码
[root@lixian ~]# echo $RANDOM |md5sum |cut -c 1-8 |tee pass.txt |passwd --stdi n lixian Changing password for user lixian. passwd: all authentication tokens updated successfully.
echo $RANDOM #输出随机数 md5sum #加密 cut -c 1-8 #取1-8位字符 tee #输出覆盖重定向 将输出打印到屏幕上和文件内 tee -a #输出追加重定向 --stdin #标准输出
加密多字符复杂随机密码
下载expect软件包,yum install -y expect
[root@lixian ~]# mkpasswd -l 24 zS2gcfn]smMeuwa2ghjlfnya [root@lixian ~]#
指定密码设置
[root@lixian ~]# mkpasswd -l 24 -c 6 -C 6 -s 6 -d 6 1}z3UNM1IT5x&r@~/;pGj60z -l #指定密码的位数 -c #指定小写字母的位数 -C #指定大写字母的位数 -d #指定数字的位数 -s #指定特殊的符号的位数
实例题目:
(1).使用root用户给test01用户设置一个18位的随机密码,并进行登录。
mkpasswd -l 18 |tee passwd.txt |passwd --stdin test01
(2).创建10个用户,前缀是你的姓,后缀为数字序列,比如qiu1等,并设置随机密码。
seq 10 |awk '{print "useradd lixian"$1"&& echo $RANDOM | tee pass.txt |passwd --stdin lixian"$1}' |/bin/bash
(3).创建10个用户,前缀是你的名,后缀为数字序列,比如zengjia1等,并给其10个用户设置统一密码为123456。
seq 10 |awk '{print"useradd lixian"$1" && echo 123456|tee pass.txt |passwd --stdin lixian"$1}' |/bin/bash
(4).创建用户lixian,并给其用户设置一个24位的随机密码,要求密码包含数字,大小写字母及特殊符号,最后查看是否可以登录。
mkdpasswd -l 24 |tee pass.txt |passwd --stdin qiudao