Integrieren Sie die virtuelle Basismaschine (VM) mithilfe von Samba und Winbind in eine Active Directory-Domäne (AD), um True SSO auf Ubuntu-/Debian-Desktops zu unterstützen.

Gehen Sie wie folgt vor, um eine Ubuntu-/Debian-VM in eine AD-Domäne zu integrieren.

In einigen der Beispiele im Verfahren werden Platzhalterwerte verwendet, um Entitäten in Ihrer Netzwerkkonfiguration darzustellen, wie z. B. den Hostnamen Ihrer VM. Ersetzen Sie die Platzhalterwerte durch spezifische Informationen für Ihre Konfiguration, wie in der folgenden Tabelle gezeigt.

Platzhalterwert Beschreibung
dns_IP_ADDRESS IP-Adresse Ihres DNS-Namenservers
mydomain.com DNS-Name Ihrer Active Directory-Domäne
MYDOMAIN.COM DNS-Name Ihrer Active Directory-Domäne in Großbuchstaben
myhost Hostname Ihrer Ubuntu-/Debian-VM
MYDOMAIN DNS-Name der Arbeitsgruppe oder NT-Domäne, in der sich Ihr Samba-Server befindet, in Großbuchstaben
ads-hostname Hostname Ihres AD-Servers
admin-user Benutzername des Administrators der AD-Domäne

Voraussetzungen

Stellen Sie sicher, dass:
  • Der AD-Server kann durch DNS auf der VM aufgelöst werden.
  • Das Network Time Protocol (NTP) ist auf der VM konfiguriert.

Prozedur

  1. Installieren Sie die Pakete samba und winbind auf der Ubuntu-/Debian-VM.
    sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
  2. Konfigurieren Sie die Kerberos-Authentifizierungseinstellungen.
    1. Wenn das Fenster für die Kerberos-Authentifizierungseinstellungen nicht auf Ihrem System angezeigt wird, führen Sie den folgenden Befehl aus, um es anzuzeigen.
      sudo dpkg-reconfigure krb5-config
    2. Geben Sie für einen standardmäßigen Kerberos Version 5-Bereich den DNS-Namen Ihrer Active Directory-Domäne in Großbuchstaben an.
      Wenn Ihr Active Directory-Domänenname z. B. mydomain.com lautet, geben Sie MYDOMAIN.COM ein.
    3. Geben Sie für Kerberos-Server für Ihren Bereich den Hostnamen Ihres AD-Servers ein (in den Beispielen für dieses Verfahren als ads_hostname angegeben).
    4. Geben Sie für Verwaltungsserver für Ihren Kerberos-Bereich erneut den Hostnamen Ihres AD-Servers ein.
  3. Aktualisieren Sie die PAM-Konfiguration.
    1. Öffnen Sie die Seite der PAM-Konfiguration.
      pam-auth-update
    2. Aktivieren Sie die Option Home-Verzeichnis bei Anmeldung erstellen und klicken Sie auf OK.
  4. Bearbeiten Sie die Konfigurationsdatei /etc/nsswitch.conf, wie im folgenden Beispiel gezeigt.
    passwd: compat winbind
    group: compat winbind
    shadow: compat
    gshadow: files
  5. (Optional) Wenn das System den richtigen DNS-Server automatisch erkennt, überspringen Sie diesen Schritt und fahren Sie mit dem nächsten Schritt fort. Wenn das System den richtigen DNS-Server nicht erkennt, führen Sie diesen Schritt aus, um den DNS-Server manuell festzulegen.
    Um sicherzustellen, dass die automatisch erstellte Datei resolv.conf auf Ihre AD-Domäne als Suchdomäne verweist, bearbeiten Sie die NetworkManager-Einstellungen für Ihre Systemverbindung. Die folgenden Teilschritte enthalten die Beispielanweisungen für ein Ubuntu 20.04-System.
    1. Öffnen Sie die Einstellungen von NetworkManager und navigieren Sie zu den IPv4-Einstellungen für Ihre Systemverbindung. Wählen Sie als Methode Nur automatische (DHCP) Adressen aus. Geben Sie im Textfeld DNS-Server die IP-Adresse Ihres DNS-Namenservers ein (in den Beispielen für dieses Verfahren als dns_IP_ADDRESS angegeben). Klicken Sie danach auf Speichern.
    2. Bearbeiten Sie die Datei /etc/dhcp/dhclient.conf, wie im folgenden Beispiel gezeigt.
      supersede domain-name "mydomain.com";
      prepend domain-name-servers dns_IP_ADDRESS;
    3. Bearbeiten Sie die Datei /etc/systemd/resolved.conf, wie im folgenden Beispiel gezeigt.
      DNS=dns_IP_ADDRESS
      Domains="mydomain.com"
      Hinweis: Beim Erstellen eines neuen virtuellen Instant-Clone-Desktops wird ein neuer virtueller Netzwerkadapter hinzugefügt. Wenn Sie den Netzwerkadapter zu einem geklonten virtuellen Desktop hinzufügen, löscht die Vorlage des virtuellen Desktops die Einstellungen für den Netzwerkadapter, z. B. den DNS-Server. Um die DNS-Servereinstellung beim Hinzufügen eines neuen Netzwerkadapters beizubehalten, müssen Sie einen DNS-Server für Ihre VM angeben.
    4. Geben Sie den DNS-Server an, indem Sie die Konfigurationsdatei /etc/resolv.conf wie im folgenden Beispiel bearbeiten. Wenn eine Warnung angezeigt wird, können Sie die Änderungen ignorieren und mit ihnen fortfahren.
      nameserver dns_IP_ADDRESS
      
      search mydomain.com
    5. Starten Sie die VM neu und melden Sie sich erneut an.
  6. Bearbeiten Sie die Konfigurationsdatei /etc/hosts, wie im folgenden Beispiel.
    127.0.0.1     localhost
    127.0.1.1     myhost.mydomain.com myhost
  7. Bearbeiten Sie die Konfigurationsdatei /etc/samba/smb.conf, wie im folgenden Beispiel.
    [global]
    security = ads
    realm = MYDOMAIN.COM
    workgroup = MYDOMAIN
    idmap uid = 10000-20000
    idmap gid = 10000-20000
    winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    winbind use default domain = yes
    restrict anonymous = 2
    kerberos method = secrets and keytab
    winbind refresh tickets = true
  8. Starten Sie den Dienst smbd neu.
    sudo systemctl restart smbd.service
  9. Bearbeiten Sie die Konfigurationsdatei /etc/krb5.conf, sodass sie über Inhalte ähnlich dem folgenden Beispiel verfügt.
    [libdefaults]
          default_realm = MYDOMAIN.COM
          dns_lookup_realm = true
          dns_lookup_kdc = true
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname 
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
    
  10. Fügen Sie die Ubuntu-/Debian-VM zur AD-Domäne hinzu.
    1. Initiieren Sie ein Kerberos-Ticket.
       sudo kinit admin-user
      Geben Sie bei Aufforderung Ihr Administratorkennwort ein.
    2. Stellen Sie sicher, dass das Ticket erfolgreich erstellt wurde.
      sudo klist
      Dieser Befehl liefert Informationen über das Ticket, einschließlich der gültigen Start- und Ablaufzeit.
    3. Erstellen Sie eine Kerberos-Keytab-Datei.
      sudo net ads keytab create -U admin-user
    4. Treten Sie der AD-Domäne bei.
      sudo net ads join -U admin-user
  11. Führen Sie einen Neustart durch und überprüfen Sie den Winbind-Dienst.
    1. Starten Sie den Winbind-Dienst neu.
      sudo systemctl restart winbind.service 
    2. Führen Sie zum Prüfen des Winbind-Dienstes die folgenden Befehle aus und prüfen Sie, ob die Ausgabe stimmt.
      • sudo wbinfo -u
      • sudo wbinfo -g
      • sudo getent passwd
      • sudo getent group
  12. Starten Sie die VM neu und melden Sie sich erneut an.

Nächste Maßnahme

Konfigurieren von True SSO auf Ubuntu-/Debian-Desktops