Active Directory 整合無法與 winbind 和 samba 正常運作

Active Directory 整合無法與 winbind 和 samba 正常運作

我正在嘗試讓我的 Linux 機器使用活動目錄身份驗證。我相信我幾乎所有設定都正確。我可以分別發出wbinfo -gwbinfo -u查看所有群組和使用者。

簡要介紹我的設定:

我在 Linux 機器上用來進行管理操作的使用者名稱是nick。我的活動目錄使用者名稱是nwalke.他們有兩個不同的密碼。我可以使用nick該使用者的密碼登入該框,也可以使用nwalkenwalke使用者的密碼登入。

好奇的一點是:

建立 Active Directory 使用者的主目錄後,我會執行一個需要 root 存取權限的腳本。這是為他們設定一些系統範圍的東西,例如 samba 共享。當我登入時nwalke,我輸入nwalke密碼並成功。然後我就受到了歡迎[sudo] password for nick:。如果我nwalke在這裡輸入密碼,它會顯示Sorry, try again.。如果我輸入nick密碼,它會說Sorry, user nick is not allowed to execute scriptname as root

如果我groups這樣做nwalke,我會發現我的用戶神奇地被分配到了該群組nick

現在,我無意中認為nickUID 是 100,而不是 1000。 所以最初在我的中smb.conf我有idmap uid 1000-10000.我唯一能想到的就是,當我登入nwalke時仍然設置,現在我只是看到一個 UID 1000 迫使 linux 認為我是nick.

我不太確定從這裡該去哪裡。就像我說的,我相當確定活動目錄正在與我的伺服器正確通信,但某些東西一定不能正確地映射到 Linux 端。

有什麼想法嗎?

這是我的smb.conf

[global]
    security = ads
    netbios name = hostname
    realm = COMPANY.COM
    password server = adshost.company.com
    workgroup = COMPANY
    idmap uid = 10000-90000
    idmap gid = 10000-90000
    winbind separator = +
    winbind enum users = no
    winbind enum groups = no
    winbind use default domain = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    domain master = no
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes

我需要以某種方式綁定到 linux 機器上的使用者嗎?

答案1

聽起來您的 UID 重疊。
如果nwalkenick共享相同的數字 UID,則第一個 nsswitch 匹配將贏得諸如idsudols等之類的內容(並且第一個匹配通常不在 passwd 文件中,除非您更改了順序/etc/nsswitch.conf或等效項)。

(登入可以使用任一名稱,因為登入可以按名稱尋找使用者。儘管有兩個同名使用者會導致一些有趣的混亂...)

您的本機(/etc/passwd/etc/group)和遠端(NIS、Samba、LDAP,等等)UID/GID 不應重疊。解決了這個核心問題,剩下的問題就會自行解決。

答案2

我已將 smb.conf 中的值更改為 10,000,但仍然感覺 nwalke 正在與 1000 配對。

我不記得它是什麼文件,而且我目前沒有系統可以檢查。

當使用者第一次連接時,將分配一個 ID,然後它將儲存在 Samba 資料庫之一中,在/var/lib/samba/ 該資料夾中查看一下,可能會很明顯它是哪個檔案。您可以嘗試停止 Samba,然後移動/刪除其中的所有文件,但您需要重新加入網域,因為電腦帳戶憑證也儲存在這些資料庫之一中。

相關內容