Active-Directory

Samba 成員伺服器 - 使用者是否被禁用?

  • June 19, 2017

我有一個 Debian Samba 文件伺服器作為成員伺服器綁定到 Active Directory。

我們為每個在此伺服器上匹配其使用者名的員工創建一個員工文件夾。

當員工退出時,他們的 Active Directory 使用者帳戶將被停用並移至停用的使用者 OU。

我想以程式方式刪除已離職員工的員工文件夾,但找不到可以區分活躍員工和停用員工的工具。我試過:“wbinfo –verbose -i”和“id”命令。

有誰知道我可以用來確定員工是活躍還是停用的 Linux 命令,或者使用者帳戶所在的 OU 的替代狀態。

您應該堅持使用 openldapldapsearch實用程序,它會為您提供所需的資訊。您啟動它時使用的開關和其他參數取決於您的 AD 配置,例如域名、LDAP 根內的 OU 座標等。

建議一

使用 LDAP,您可以檢查 userAccountControl 屬性以驗證 AD 帳戶狀態。

該標誌是用十進製表示的二進制數據,因此需要確保計算和檢查正確的十進制值

例如:

UF_NORMAL_ACCOUNT =  512
UF_ACCOUNT_DISABLE =   2 +
                    ---
                    514

因此,禁用的使用者帳戶將具有userAccountControl = 514.

所有使用者帳戶都是“普通”帳戶 (512) - 非普通帳戶是域信任帳戶 (2048) 等。

還有許多與此屬性相關的其他標誌,但儘管外觀不同,但有些標誌無效。但是,對於標準使用者帳戶,512 = 活動和 514 = 禁用是可靠的。

這些標誌的有用列表在 SelfADSI.org 編譯:http ://www.selfadsi.org/ads-attributes/user-userAccountControl.htm

建議二

或者,在您的情況下,更簡單的 LDAP 方法可能是查看帳戶路徑是否在“非活動”OU 中。如果您將搜尋根設置為非活動 OU,然後獲取其中存在的帳戶列表,您將能夠將這些與您擁有的現有使用者主驅動器列表進行比較。

引用自:https://serverfault.com/questions/839822