
如果我在以 Samba AD/DC 身分執行的電腦中執行以下命令,則不會出現任何問題。有用。
sudo samba-tool group listmembers 'domain users'
問題是我想從網域中的另一台 Linux 電腦讀取相同(和其他群組)的使用者清單。我在 Linux 中以網域使用者身分登入,安裝了 PAM winbind。
我嘗試過wbinfo
,它有效,但我無法取得群組成員清單。getent
為我提供網域的群組和使用者。但我仍然找不到列出群組成員的正確方法。
有什麼建議嗎?
答案1
我相信您需要使用 ldapsearch 而不是 smb-tools。某事的效果;
ldapsearch -LLL -b "dc=example,dc=com" "(&(cn=*)(memberUid=user))" dn
答案2
你已經快到了,你的命令只是錯過了一個重要的訊息。您需要在命令中新增“-H ldap://samdom.example.com”,其中“samdom.example.com”是您的 DNS 網域。
答案3
感謝@CryptoJones 我關注了 LDAP。這是我為了讓它發揮作用所做的事情。
首先,我在本範例中使用的兩台電腦都是 Debian 10。 Samba AD/DC 設定遵循 Samba 官方網站中的範例。
我的 AD/DC 創建網域“windom.borghi.lan”,其名稱為“dc1.windom.borghi.lan”。我從電腦「linte.windom.borghi.lan」呼叫 AD,我以網域使用者「WINDOM\nicola」身分登入。
在機器“linte”中我安裝了兩個軟體包:
$> sudo apt-get install libsasl2-modules-gssapi-mit
$> sudo apt-get install libsasl2-modules-gssapi-heimdal
然後,要查詢我的網域群組「g-leggiTutto」的所有成員,我執行以下操作:
linte WINDOM\nicola> ldapsearch -H ldap://dc1 -Y GSSAPI -b "dc=windom,dc=borghi,dc=lan" '(memberOf=CN=g-leggitutto*)'
AFAIC說不可能使用以前的方法來查找「網域使用者」群組的所有使用者。但是,您可以搜尋所有用戶,然後過濾它們。這是我第一次使用LDAP,也許有更好的方法。
linte WINDOM\nicola> ldapsearch -H ldap://dc1 -Y GSSAPI -b "dc=windom,dc=borghi,dc=lan" '(sAMAccountName=*)'
然後我過濾掉群組條目和計算機條目,得到一個合理的結果。
linte WINDOM\nicola> ldapsearch -H ldap://dc1 -Y GSSAPI -b "dc=windom,dc=borghi,dc=lan" '(&(sAMAccountName=*)(!(objectClass=group))(!(objectClass=computer)) )'
再見