
Ich brauche die einfachste Möglichkeit, Active Directory-Benutzer auf einem Ubuntu-Server zu authentifizieren (beim Anmelden).
Ich versuche es mit libnss-ldap, aber es funktioniert nur mit einfachen LDAP-Servern (wie SLAPD), jetzt aber mit Active Directory. Ich habe gehört, dass libnss-ldap ein kleines Speicherleck hat und die Entwicklung eingestellt wurde, also sollte ich stattdessen libnss-ldapd oder sssd verwenden, aber die sind bisher zu kompliziert.
Antwort1
Es gibt ein ziemlich einfaches Setup, das nur Samba und pam_mkhomedir.so erfordert (verwenden Sie apt-get install).
Erstellen Sie dann eine neue Datei zur Konfiguration der Authentifizierung mit dem folgenden Inhalt. Bearbeiten Sie die Variablen oben in der Datei. Der erste Eintrag (Arbeitsgruppe) ist der NETBIOS-Name Ihrer Domäne.
#!/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
Nachdem Sie die Datei erstellt haben, machen Sie sie mit ausführbar chmod +x <filename>
. Führen Sie die Datei aus und geben Sie Ihre AD-Anmeldeinformationen ein, wenn Sie dazu aufgefordert werden.
Bearbeiten Sie dann /etc/pam.d/sshd und fügen Sie die folgende Zeile nach „pam_selinux.so close“ hinzu:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
Verwenden Sie abschließend visudo, um der entsprechenden AD-Gruppe sudo zu gestatten, indem Sie nach dem Wheel-Eintrag Folgendes hinzufügen:
"%domain admins" ALL=(ALL) ALL
Sie sollten startklar sein! Versuchen Sie unbedingt, von einer neuen Sitzung aus SSH zu verwenden. Melden Sie sich nicht von der ersten Sitzung ab, falls etwas schief geht.