Shell脚本创建用户时,为了用户的账户安全,最好能生成满足复杂性要求的随机密码。下面的一段代码通过定义一个字符串序列,并随即读取出字符串的某个位置值来生成随机密码,Bash 2.x或以上版本支持。
#!/bin/sh
MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ \
abcdefghijklmnopqrstuvwxyz./*&^%$#@!()"
# May change 'LENGTH' for longer password, of course.
LENGTH="8"
while [ "${n:=1}" -le "$LENGTH" ]; do
PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
let n+=1
done
echo "$PASS" # ==> Or, redirect to file, as desired.
exit 0
说明:
在Shell脚本中修改密码,passwd程序支持从标准输入中读取密码字符串,如下所示:
PASSWD='mypass'
echo 'mypass' |passwd username --stdin
上述代码需要root用户执行。
Comments
There are currently no comments
New Comment