Winbind

如何在 Samba Active Directory 伺服器上指定 Linux 主目錄和 shell?

  • February 24, 2015

當用作 Active Directory 域控制器時,此問題與 SAMBA 版本 4 相關。

我已將所有內容設置為允許域使用者登錄 Linux。但是,我一直在尋找年齡,找不到如何設置使用者主目錄和 shell。我現在才知道/bin/false。我有winbindlibnss-winbind並且libpam-winbind所有安裝和工作 - 我可以登錄,但/bin/falseshell 並不完全有用!

我知道如何編輯idmap.ldb,例如設置使用者的 UID,我也可以編輯sam.ldb其他屬性。我在加入 Samba 域的 Windows 機器上安裝了 ADUC,這也可以*。*我已經嘗試過template homedirand template shellsmb.conf但到目前為止沒有任何效果。

我希望我錯過了一些非常簡單的事情並且答案很明顯,但是在花了很多時間尋找答案之後,我正遭受*Google Blindless的折磨。*就連 Samba 文件在這裡也不盡如人意。

您可以在配置文件的[global]部分中設置主目錄和登錄 shell 的預設值:smb.conf

template shell    = /bin/sh
template homedir  = /home/%ACCOUNTNAME%

請注意,它%ACCOUNTNAME%%USamba 3 的情況不同。同樣,它%WORKGROUP%不是%D. 我還發現對這些值的更改不會被接收smbcontrol all reload-config- 您必須重新啟動 Samba 才能使它們生效。

您應該能夠將 RFC2307 屬性添加到 LDAP 中的使用者條目以指定每個使用者的值,但這還不起作用。來自 Samba 維基

目前 (4.1.11),具有 AD DC 角色的 Samba 伺服器不使用標準的 winbind 守護程序。這會導致 winbind 和 nss-winbind 只獲取 UID 和 GID,而不是登錄 shell 和 home。Samba 4.2 將提供使用標準 winbind 的可能性,從而避免了這個缺點。

所以,至少在目前,我們被smb.conf.

引用自:https://unix.stackexchange.com/questions/156270