Linux
伺服器間使用者密碼列表的簡單單向同步
使用 RedHat 衍生髮行版 (CentOS),我想保留普通使用者列表(UID 超過 500),並將組(和影子文件)推送到備份伺服器。
同步是單向的,從主伺服器到備份伺服器。
我真的不想處理 LDAP 或 NIS。
我只需要一個簡單的腳本,它可以每晚執行以保持備份伺服器的更新。
主伺服器可以通過 SSH 連接到備份系統。
有什麼建議嗎?
編輯:
感謝到目前為止的建議,但我認為我還不夠清楚。
我只關注同步UID 大於或等於 500的普通使用者。
兩個系統上的系統/服務使用者(UID 低於 500)可能不同。
因此,恐怕您不能只同步整個文件。
您可以使用 awk 提取 ID 為 500 或更大的使用者/組。我還冒昧地排除了使用者 id 65534,它通常是為“nobody”使用者保留的(取決於發行版;不知道 CentOS 是否這樣做):
awk -F: '($3>=500) && ($3!=65534)' /etc/passwd > passwd.new awk -F: '($3>=500) && ($3!=65534)' /etc/group > group.new awk -F: '($3>=500) && ($3!=65534) {print $1}' /etc/passwd | grep -f - /etc/shadow > shadow.new
然後使用 rsync、scp 或您選擇的文件傳輸方法將文件複製到您的備份系統。然後,當您需要恢復這些文件時,可以將這些文件附加到“乾淨”密碼、組或影子文件的末尾(即:僅預設系統使用者/組,以防止無意中重複 ID/使用者名)。
cat passwd.new >> /etc/passwd cat group.new >> /etc/group cat shadow.new >> /etc/shadow
NIS/NIS+ 正是出於這個原因而發明的。
但是它們有點醜陋和集中(LDAP/Kerberos/SMB/等)身份驗證是一個更好的主意,如果你能做到的話。要設置 NIS/NIS+,您需要:
套餐:
yp-tools ypbind ypserv portmap
和 /etc/yp.conf 類似:
domain example.org server nis.example.org ypserver nis.example.org
然後在 /etc/sysconfig/network 中:
NISDOMAIN=example.org
而且我很懶,這裡有一個很好的方法:http ://www.wains.be/index.php/2007/02/28/setting-up-nis-under-centos-4/它將引導您完成它。
就個人而言,我只是備份整個 /etc/ 目錄並完成它。最多只有幾兆。