GNU/Linux >> Znalost Linux >  >> Ubuntu

Ubuntu – Konfigurace Sssd (sudo And Dyndns_update) pomocí Realmd?

Snažím se připojit Ubuntu 16.04 k doméně Windows (aktivní adresář) pomocí realmd + sssd. V podstatě jsem sledoval tento příspěvek, který fungoval docela dobře a mohl jsem se připojit ke svému serveru a mohl jsem se úspěšně ověřit jako uživatel AD. V integraci však chybí dva kusy:

  1. Zaregistrujte název hostitele serveru v DNS
  2. Pro autorizaci uživatele použijte sssd-sudo

Zaregistrujte název hostitele serveru v DNS

Jak již bylo zmíněno, úspěšně jsem se připojil k AD pomocí
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

Navzdory úspěšnému připojení však můj server není známý ostatním strojům v doméně pomocí názvu hostitele ip-172-28-5-174.mydomain.int . Našel jsem tuto dokumentaci, která zmiňuje dyndns_update nastavení v souboru sssd.conf.

Jak používám realm. Konfigurace sssd se generuje automaticky zadáním příkazu join. Vygenerovaný konfigurační soubor vypadá takto:

[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

To znamená, že musím nějak přidat dyndns_update = True do tohoto vygenerovaného souboru. Ale jak?

Pro autorizaci uživatele použijte sssd-sudo

Navíc chci, aby sssd četl moji konfiguraci sudo z AD. Myslím, že toho lze dosáhnout pomocí sssd-sudo, ale toto musí být povoleno/nakonfigurováno také v souboru sssd.conf přidáním sudo do služeb sssd a použijte sudo_provider = ldap pro mou doménu. Opět nejsem schopen přijít na to, jak to udělat s realmem.

V podstatě chci, aby můj vygenerovaný konfigurační soubor vypadal takto:

[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

Máte nějaké nápady, jak toho lze dosáhnout?

Přijatá odpověď:

Pokud chcete, aby Active Directory spravovalo sudoers , musíte do AD načíst specializované schéma a poté vytvořit pravidla pomocí nástroje, jako je ADSI Edit. Tento návod pro mě fungoval na Ubuntu 14.04. Nejdůležitější jsou:

  • Importujte schema.ActiveDirectory
  • Vytvořte pravidla podle manuálové stránky sudoers-ldap
  • Aktualizujte etc/nsswitch.conf zahrnout sss mezi záznamy na sudoers = linka
  • Aktualizujte etc/sssd/sssd.conf zahrnout:
    • sudo mezi položkami na services = linka
    • prázdné [sudo] sekce (nejsou vyžadovány žádné konfigurace, ale Redhat tvrdí, že to spouští správnou konfiguraci podpory sudo)
    • řádek jako sudo_provider = ad (sssd docs na pagure.org tvrdí, že poskytovatel sudo je ve výchozím nastavení povolen pro ldap, ad a ipa, takže může být volitelný)

Když opakuji tento proces pro 16.04 (tj. stejná pravidla AD jako 14.04), ve skutečnosti mám jiné problémy. Zdá se, že to není nic neobvyklého. Je možné, že ve verzi sudo obsažené v 16.04 je chyba.

  • V zásadě by tento problém měl vyřešit ruční upgrade na nejnovější verzi.
  • Běžné sudo balíček (nikoli sudo-ldap ) je správný balíček, pokud chcete SSSD (a ne sudo). ) ke správě připojení ldap. Konkrétně instalace sudo-ldap nevytvářely žádné protokoly v sssd_sudo.log zatímco běžné sudo balíček ano.
  • Zatímco sssd_sudo nyní zobrazuje Returning 2 rules for [<user>@<domain>] , sudo -l stále odpovídá Sorry, user <user>@<domain> may not run sudo on <host> takže možná bude potřeba vyřešit další problémy.
Související:Jak z protokolů zjistit, co způsobilo vypnutí systému?

Moje situace však nemusí být typická, protože mám další problémy, které se nezdají být běžné. Měl jsem například problémy se spuštěním realm join které byly vyřešeny pomocí zástupných řešení z této otázky o chybě serveru.

Pokud jste se sem dostali kvůli problémům realmd/sssd/sudo v 16.04, zde jsou některé další hlášené problémy, které mohou být užitečné (ne nutně přímo související s problémem OP):

  • Problém se síťovou skupinou hostitele IPA (další informace o seznamu uživatelů free-ipa)
  • Je známý problém s řešením závislostí realmd. Jak již bylo zmíněno v diskuzi, instalace packagekitu se mnohým (včetně nás) vyřeší. Ve verzi 16.04 se může vyskytnout samostatný problém.

Vyhodnocujeme aktualizaci 16.04, takže to můžeme odsunout do pozadí, ale doufejme, že naše práce pomůže ostatním.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat lak na Ubuntu 20.04?

  2. Instalovat Composer a konfigurovat pomocí Xampp?

  3. Jak nainstalovat a nakonfigurovat LibreNMS na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 18.04

  3. Nainstalujte Nginx a nakonfigurujte virtuálního hostitele v Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Nagios na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat ownCloud s Apache na Ubuntu 18.04