作者LokiCjn (我的征途是星之海)
看板Linux
標題[問題] 利用shell script修改主機密碼的問題
時間Thu Mar 24 08:25:34 2011
因為上面要求所以寫了一個shell script來修改多個主機的密碼
想法是先判斷作業系統類型(目前只有FreeBSD和CentOS兩個)
去下載含有密碼的文件再利用它去改掉密碼
我的寫法大致如下:
whichOS (){
VER=`uname`
if [ $VER == FreeBSD ]; then
return 0
else
return 1
fi
}
getPW (){
if [ $FLAG == 0 ]; then
fetch
http://xxx,xxx/newpw > /dev/null 2>&1
newPW=`cat newpw`
else
wget
http://xxx.xxx/newpw -O newpw > /dev/null 2>&1
newPW=`cat newpw`
fi
}
changePW (){
if [ $FLAG == 0 ]; then
cat newpw | pw mod user $USER -h 0
else
cat newpw | passwd --stdin $USER
fi
}
USER=$1
whichOS
FLAG=$?
getPW
changePW
rm newpw
直接執行該script後面加上帳號就是改掉它的密碼
例如 ./change.sh xxx
但後來覺得這樣做好像沒有比直接進主機打passwd修改快多少
頂多不用擔心密碼打錯
不知還有哪些地方可以再精進些
而後來還多一個需求是要能夠知道我改了哪些主機密碼改了哪些沒有
還要能夠回報回來
這樣是否也需要多一個database存放所有主機清單並記錄是否已修改密碼的狀態
單用shell script能夠做到嗎?(目前也只會這個還只會皮毛而已…)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.43.122.215
→ kylekai:系統改用 NIS 或是 LDAP 認證, 整個會簡單點... 03/24 11:19
推 nknudragon:同上所感 為什麼要再去維護N台主機的密碼檔 03/25 07:41
推 hukhuk:看看鳥哥的nis那章節吧 03/25 15:47
→ hukhuk:自己也在玩@@a 03/25 15:47