簡體   English   中英

每周更改root用戶腳本的密碼

[英]Change Password every week for root user script

我收到要求在所有基於Linux的計算機上每10天更改一次root密碼的請求,這些機器都是生產計算機,並且已使用grub密碼啟用,因此如果我們忘記/丟失了root / grub密碼,我們將無法恢復。

我寫了一個簡單的腳本,將密碼重定向到nfs共享文件。 因此,它每周都會將密碼寫入nfs共享文件。

下面是文件格式

 Machine1:
 Machine2:
 Machine3:

我們將執行腳本

 sh autopass.sh Machine1 

因此它更改了Machine1的root密碼,並在nfs共享文件中將Machine1的舊密碼替換為新的密碼。 因此,我們每周都會將密碼發送給授權用戶

下面是腳本

#!/bin/sh 
#Function to create Random Password
function randpass() {
[ "$2" == "13" ] && CHAR="[:alnum:]" || CHAR="[:graph:]"
cat /dev/urandom | tr -cd "$CHAR" | head -c 8
echo
}
#Get Random Password to rootnewpass variable
rootnewpass=`randpass`
#Replace new password in file rootpass
sed -i "s/^\(${1}:\).*/\1${rootnewpass}/" /nfs/rootpass
#Change new Password using new random generated keyword 
echo -e "root:$rootnewpass" | chpasswd

所以現在我想這里是我的方法很好,或者其他任何方法都可以更好地實現這一點。 在這里,有任何可能我都不應放錯密碼的含義,不應將錯誤的密碼重定向到文件。

我也為grub密碼使用相同的概念。

注意:所有機器都不應具有相同的root密碼,因此我選擇了此選項。

請指教

您可以通過以下方法在一批服務器(100台服務器:10.1.0.1至10.1.0.100)上更改root用戶的密碼:

# for ((i=1;i<=100;i++)); do \
ssh 10.1.0.$i 'echo -e "newpassword\nnewpassword" | passwd  --stdin root'; \
done;

使其成為一項計划工作,這應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM