Ubuntu samba 恢復 idmap 數據庫
所以我遇到了一場災難,必須在周一早上啟動並執行伺服器:D 我的 ubuntu 伺服器設置與 samba / winbind 並加入到活動目錄域控制器中保存了許多部門的共享文件夾,這些文件夾具有基於 AD 使用者的特定訪問權限..我的主伺服器發瘋了,一切都停止了。經過一些故障排除後,我決定不浪費時間並使用完全相同的配置創建一個新的,一切順利,我將舊磁碟安裝在新 VM 上,並且我能夠訪問共享但是 .. 訪問權限是搞砸了,自然會為不同的使用者分配新的 UID。所以我做了一些探勘,我從舊伺服器複製了舊的 winbindd_idmap.tdb 並將其恢復到新伺服器上。它沒有用,所以我將整個 /var/lib/samba 複製到新的,但它沒有用。我事件複製了 /etc/passwd 和 /etc/shadow 和組,但我知道這沒有必要,因為它們沒有任何映射。不用說它沒有用。任何人都知道如何創造奇蹟並在新伺服器上獲取舊使用者映射,以便正確反映訪問權限?
非常感謝
這是我的 smb.conf:
[global] # No .tld workgroup = UFA # Active Directory System security = ads # With .tld realm = UFA.LOCAL # Just a member server domain master = no local master = no preferred master = no # Disable printing error log messages when CUPS is not installed. printcap name = /etc/printcap load printers = no # Works both in samba 3.2 and 3.6. idmap backend = tdb idmap uid = 10000-99999 idmap gid = 10000-99999 # no .tld idmap config UFA:backend = rid idmap config UFA:range = 10000-99999 winbind enum users = yes winbind enum groups = yes # This way users log in with username instead of username@example.org winbind use default domain = yes # Inherit groups in groups winbind nested groups = yes winbind refresh tickets = yes winbind offline logon = true # Becomes /home/example/username template homedir = /home/%D/%U # No shell access template shell = /bin/false client use spnego = yes client ntlmv2 auth = yes encrypt passwords = yes restrict anonymous = 2 log file = /var/log/samba/samba.log log level = 2 [Share] comment = Share path = /share/ valid users = @UFA\"Domain Users" force group = "domain users" writable = yes read only = no force create mode = 0660 create mask = 0777 directory mask = 0777 force directory mode = 0770 access based share enum = yes hide unreadable = yes
1-第一個解決方案,所以我發現了問題,原來伺服器在 1 天后突然跳轉(日期提前 1 天)通常所有服務都搞砸了,我重新啟動伺服器和時間已更正,但此時服務仍然一團糟。我還必須刪除所有使用錯誤日期創建的日誌文件並重新啟動 winbind、nmbd 和 smbd 以糾正問題。
2-繞過使用者從一個Linux到另一個Linux混亂的問題的第二種解決方案你所要做的就是從WINDOWS的角度而不是從linux itel的角度備份和恢復訪問權限。這樣,windows 就會讀取正確的 SID 並正確移動它們。一種方法是使新舊伺服器都聯機,並從 Windows 域控制器訪問共享,並利用 icacls 從舊伺服器備份並恢復到新伺服器。