2009年9月21日 星期一

Gmail - 來自LearnLoop的新討論(主題:CentOs 如何批次修改使用者密碼?) - wiser2tsai@gmail.com

Gmail - 來自LearnLoop的新討論(主題:CentOs 如何批次修改使用者密碼?) - wiser2tsai@gmail.com: "張貼者: 張騰元(高雄市資教中心、小港國小)
張貼時間: 22:47, 2009-09-20

主旨: CentOs 如何批次修改使用者密碼?

內容:
我改了一下之前用在 CentOS 上的 script, 您看看能不能用...

[root@mail alubas]# cat UserMNG.sh
#!/bin/sh
#作者: alubas@ms.hkps.kh.edu.tw 2009/09
#程式功\能: 大量建立帳號 或 修改密碼
#若要建立帳號, 則 CreateUser=\'Yes\' , 反之則 CreateUser=\'No\'
#帳號密碼檔格式為 id:pwd , 每列一個帳號
#使用方式: 將資料檔放在第一個參數 UserMNG.sh userlist.txt


CreateUser=\'No\'
MAILgroup=\'mailuser\'
HOMEprefix=/home/mailuser

if [ ! -d $HOMEprefix ];then
mkdir $HOMEprefix
chmod 755 $HOMEprefix
fi

if [ \'$#\' -eq 1 ]; then
#echo \'參數數量為\'$#
if [ -e $1 ]; then
echo \'資料檔檢查: ok!\'
if [ \'$CreateUser\' == \'Yes\' ]; then
echo \'建立帳號作業開始...\'
else
echo \'修改密碼作業開始...\'
fi
users=$(cut -d \':\' -f1 $1)
for username in $users # 開始迴圈進行!
do
pwd=`cat $1 | grep $username | cut -d \':\' -f2`
if [ \'$CreateUser\' == \'Yes\' ]; then
userhome=\'$HOMEprefix/$username\'
adduser $username -m -c $username -p $pwd -d $userhome -g $MAILgroup
echo $pwd | passwd --stdin $username
echo \'建立帳號 $username ok.\'
else
echo $pwd | passwd --stdin $username
echo \'修改密碼 $username ok.\'
fi
done
fi
else
echo \'資料檔檢查不合格--未輸入資料檔!!\'
fi"