
我需要最簡單的方法來驗證 Ubuntu Server 上的 Active Directory 使用者(登入時)。
我正在嘗試使用 libnss-ldap,但它僅適用於普通 LDAP 伺服器(如 SLAPD),但現在適用於 Active Directory。我聽說 libnss-ldap 有一點記憶體洩漏,他們停止了開發,所以我應該使用 libnss-ldapd 或 sssd,但到目前為止它們太複雜了。
答案1
有一個非常簡單的設置,只需要 samba 和 pam_mkhomedir.so (使用 apt-get install)
然後建立一個新檔案以使用以下內容配置身份驗證。編輯文件頂部的變數。第一個項目(工作群組)是您的網域的 NETBIOS 名稱。
#!/bin/bash
ADSWorkgroup="yourdomain"
ADSDomain="yourdomain.com"
ADSServer="domaincontroller.yourdomain.com"
AdminUser="[email protected]"
authconfig --update --kickstart --enablewinbind --enablewinbindauth --smbsecurity=ads \
--smbworkgroup=$ADSWorkgroup --smbrealm=$ADSDomain \
--smbservers=$ADSServer --winbindjoin=$AdminUser \
--winbindtemplatehomedir=/home/%U --winbindtemplateshell=/bin/bash \
--enablewinbindusedefaultdomain --enablelocauthorize
建立文件後使其可執行chmod +x <filename>
。執行該檔案並在詢問時輸入您的 AD 憑證。
然後編輯/etc/pam.d/sshd,在「pam_selinux.so close」之後加入以下行
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
最後,使用 visudo 透過在wheel條目後添加以下內容來允許適當的AD組使用sudo:
"%domain admins" ALL=(ALL) ALL
你應該可以走了!確保從新會話中嘗試 sshing,不要從第一個會話中註銷,以防出現問題。