GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu:configurare Sssd (sudo e Dyndns_update) con Realmd?

Sto cercando di unirmi a Ubuntu 16.04 a un dominio Windows (directory attiva) usando realmd + sssd. Fondamentalmente stavo seguendo questo post che ha funzionato abbastanza bene e sono stato in grado di unirmi al mio server e ho potuto autenticarmi con successo come utente AD. Tuttavia mancano due pezzi nell'integrazione:

  1. Registra il nome host del server in DNS
  2. Usa sssd-sudo per l'autorizzazione utente

Registra il nome host del server in DNS

Come accennato, mi sono unito con successo all'AD utilizzando
realm join --user=dpr MYDOMAIN.INT --install=/ :

[email protected] ~ # realm list
mydomain.int
  type: kerberos
  realm-name: MYDOMAIN.INT
  domain-name: mydomain.int
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: sssd-tools
  required-package: sssd
  required-package: libnss-sss
  required-package: libpam-sss
  required-package: adcli
  required-package: samba-common-bin
  login-formats: %[email protected]
  login-policy: allow-realm-logins

Tuttavia, nonostante l'unione riuscita, il mio server non è noto alle altre macchine del dominio utilizzando il suo nome host ip-172-28-5-174.mydomain.int . Ho trovato questa documentazione che menziona un dyndns_update impostazione nel file sssd.conf.

Come sto usando realm. La configurazione sssd viene generata automaticamente eseguendo il comando join. Il file di configurazione generato è simile al seguente:

[sssd]
domains = mydomain.int
config_file_version = 2
services = nss, pam

[domain/mydomain.int]
ad_domain = mydomain.int
krb5_realm = MYDOMAIN.INT
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%[email protected]%d
access_provider = ad

Cioè in qualche modo ho bisogno di aggiungere dyndns_update = True a questo file generato. Ma come?

Utilizza sssd-sudo per l'autorizzazione utente

Inoltre voglio fare in modo che sssd legga la mia configurazione sudo da AD. Penso che questo possa essere ottenuto usando sssd-sudo, ma questo deve essere abilitato/configurato anche nel file sssd.conf aggiungendo sudo ai servizi sssd e usa sudo_provider = ldap per il mio dominio. Ancora una volta non sono in grado di capire come farlo con realm.

Fondamentalmente voglio che il mio file di configurazione generato assomigli a questo:

[sssd]
domains = mydomain.int
config_file_version = 2
services = nss, pam, sudo

[domain/mydomain.int]
id_provider = ad
access_provider = ad
sudo_provider = ldap
ad_domain = mydomain.int
krb5_realm = MYDOMAIN.INT
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%[email protected]%d

Qualche idea su come ottenerlo?

Risposta accettata:

Se vuoi che Active Directory gestisca sudoers , devi caricare uno schema specializzato in AD e quindi creare le tue regole utilizzando uno strumento come ADSI Edit. Questa procedura dettagliata ha funzionato per me su Ubuntu 14.04. I punti salienti sono:

  • Importa schema.ActiveDirectory
  • Crea regole seguendo la manpage sudoers-ldap
  • Aggiorna etc/nsswitch.conf per includere sss tra le voci su sudoers = linea
  • Aggiorna etc/sssd/sssd.conf per includere:
    • sudo tra le voci sui services = linea
    • un [sudo] vuoto sezione (non sono richieste configurazioni, ma Redhat afferma che ciò attiva la corretta configurazione del supporto sudo)
    • una riga come sudo_provider = ad (sssd docs su pagure.org afferma che il provider sudo è abilitato per impostazione predefinita per ldap, ad e ipa, quindi potrebbe essere facoltativo)

Quando ripeto questo processo per il 16.04 (ovvero le stesse regole AD del 14.04), in realtà sto riscontrando altri problemi. Apparentemente, questo non è raro. È possibile che ci sia un bug nella versione di sudo inclusa nella 16.04.

  • In linea di principio, l'aggiornamento manuale all'ultima versione dovrebbe risolvere questo problema.
  • Il normale sudo pacchetto (non sudo-ldap ) è il pacchetto giusto se vuoi SSSD (e non sudo ) per gestire la connessione ldap. In particolare, l'installazione di sudo-ldap non ha prodotto log in sssd_sudo.log mentre il normale sudo pacchetto fatto.
  • Mentre sssd_sudo ora mostra Returning 2 rules for [<user>@<domain>] , sudo -l continua a rispondere con Sorry, user <user>@<domain> may not run sudo on <host> quindi potrebbero esserci altri problemi da risolvere.
Correlati:come scoprire dai registri cosa ha causato l'arresto del sistema?

La mia situazione potrebbe non essere tipica, tuttavia, poiché sto riscontrando problemi aggiuntivi che non sembrano essere comuni. Ad esempio, ho riscontrato problemi durante l'esecuzione di realm join che sono stati risolti utilizzando soluzioni alternative da questa domanda di errore del server.

Se hai trovato la tua strada qui a causa di problemi di realmd/sssd/sudo in 16.04, ecco alcuni altri problemi segnalati che potrebbero essere utili (non necessariamente correlati direttamente al problema dell'OP):

  • Problema relativo al netgroup dell'host IPA (maggiori informazioni sull'elenco degli utenti di free-ipa)
  • Si è verificato un problema noto con la risoluzione delle dipendenze di realmd. Come accennato nella discussione, l'installazione di packagekit risolve per molti (incluso noi). Potrebbe esserci un problema separato con la versione 16.04.

Stiamo valutando 16.04 per l'aggiornamento, quindi potremmo metterlo in secondo piano, ma speriamo che il nostro lavoro di gambe aiuti gli altri.


Ubuntu
  1. Come installare e configurare Nginx su Ubuntu 20.04

  2. Installa Nginx e configura l'host virtuale in Ubuntu 20.04

  3. Come installare e configurare Varnish su Ubuntu 20.04?

  4. Installare Composer e configurare con Xampp?

  5. Come installare e configurare LibreNMS su Ubuntu 20.04

Come installare e configurare GitLab CE su Ubuntu 18.04 LTS

Come installare e configurare DNS su Ubuntu

Come installare e configurare Kubernetes su Ubuntu

Installa e configura Log con Graylog in Ubuntu 20.04

Come impostare e configurare UFW Firewall su Ubuntu 20.04

Come installare e configurare Memcached su Ubuntu