GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu - Configurer Sssd (sudo et Dyndns_update) avec Realmd ?

J'essaie de joindre un Ubuntu 16.04 à un domaine Windows (répertoire actif) en utilisant realmd + sssd. En gros, je suivais ce post qui fonctionnait plutôt bien et j'ai pu rejoindre mon serveur et m'authentifier avec succès en tant qu'utilisateur AD. Cependant, il manque deux éléments dans l'intégration :

  1. Enregistrer le nom d'hôte du serveur dans DNS
  2. Utiliser sssd-sudo pour l'autorisation de l'utilisateur

Enregistrer le nom d'hôte du serveur dans DNS

Comme mentionné, j'ai réussi à rejoindre l'AD en utilisant
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

Cependant, malgré la réussite de la jointure, mon serveur n'est pas connu des autres machines du domaine utilisant son nom d'hôte ip-172-28-5-174.mydomain.int . J'ai trouvé cette documentation qui mentionne un dyndns_update paramètre dans le fichier sssd.conf.

Comme j'utilise realm. La configuration sssd est générée automatiquement en émettant la commande join. Le fichier de configuration généré ressemble à ceci :

[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

C'est-à-dire que j'ai en quelque sorte besoin d'ajouter dyndns_update = True à ce fichier généré. Mais comment ?

Utilisez sssd-sudo pour l'autorisation de l'utilisateur

De plus, je veux que sssd lise ma configuration sudo à partir d'AD. Je pense que cela peut être réalisé en utilisant sssd-sudo mais cela doit également être activé/configuré dans le fichier sssd.conf en ajoutant sudo aux services sssd et utilisez sudo_provider = ldap pour mon domaine. Encore une fois, je ne suis pas capable de comprendre comment faire cela avec realm.

Fondamentalement, je veux que mon fichier de configuration généré ressemble à ceci :

[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

Des idées sur la façon dont cela peut être réalisé ?

Réponse acceptée :

Si vous souhaitez qu'Active Directory gère les sudoers , vous devez charger un schéma spécialisé dans AD, puis créer vos règles à l'aide d'un outil comme ADSI Edit. Cette procédure pas à pas a fonctionné pour moi sur Ubuntu 14.04. Les points forts sont :

  • Importer schema.ActiveDirectory
  • Créer des règles en suivant la page de manuel sudoers-ldap
  • Mettre à jour etc/nsswitch.conf pour inclure sss parmi les entrées sur les sudoers = ligne
  • Mettre à jour etc/sssd/sssd.conf à inclure :
    • sudo parmi les entrées sur les services = ligne
    • un [sudo] vide section (aucune configuration n'est requise, mais Redhat affirme que cela déclenche la configuration appropriée du support sudo)
    • une ligne comme sudo_provider = ad (la documentation sssd sur pagure.org affirme que le fournisseur sudo est activé par défaut pour ldap, ad et ipa, cela peut donc être facultatif)

Lorsque je répète ce processus pour 16.04 (c'est-à-dire les mêmes règles AD que 14.04), j'ai en fait d'autres problèmes. Apparemment, ce n'est pas rare. Il est possible qu'il y ait un bogue dans la version de sudo incluse dans 16.04.

  • En principe, une mise à jour manuelle vers la dernière version devrait résoudre ce problème.
  • Le sudo normal paquet (pas sudo-ldap ) est le bon package si vous voulez SSSD (et non sudo ) pour gérer la connexion ldap. Plus précisément, l'installation de sudo-ldap n'a produit aucun journal dans sssd_sudo.log tandis que le sudo normal paquet a fait.
  • Tant que sssd_sudo affiche maintenant Returning 2 rules for [<user>@<domain>] , sudo -l répond toujours avec Sorry, user <user>@<domain> may not run sudo on <host> il peut donc y avoir d'autres problèmes à résoudre.
Connexe :Comment savoir à partir des journaux ce qui a causé l'arrêt du système ?

Cependant, ma situation n'est peut-être pas typique, car j'ai des problèmes supplémentaires qui ne semblent pas être courants. Par exemple, j'ai eu des problèmes lors de l'exécution de realm join qui ont été résolus à l'aide des solutions de contournement de cette question de panne de serveur.

Si vous avez trouvé votre chemin ici en raison de problèmes realmd/sssd/sudo dans 16.04, voici quelques autres problèmes signalés qui peuvent être utiles (pas nécessairement directement liés au problème de l'OP) :

  • Problème de groupe réseau hôte IPA (plus d'informations sur la liste des utilisateurs free-ipa)
  • Il existe un problème connu avec la résolution des dépendances realmd. Comme mentionné dans la discussion, l'installation de packagekit résout pour beaucoup (y compris nous). Il peut y avoir un problème distinct avec la version 16.04.

Nous évaluons 16.04 pour la mise à niveau afin que nous puissions mettre cela en veilleuse, mais j'espère que nos démarches aideront les autres.


Ubuntu
  1. Comment installer et configurer Nginx sur Ubuntu 20.04

  2. Installez Nginx et configurez l'hôte virtuel dans Ubuntu 20.04

  3. Comment installer et configurer Varnish sur Ubuntu 20.04 ?

  4. Installer Composer et configurer avec Xampp ?

  5. Comment installer et configurer LibreNMS sur Ubuntu 20.04

Comment installer et configurer GitLab CE sur Ubuntu 18.04 LTS

Comment installer et configurer DNS sur Ubuntu

Comment installer et configurer Kubernetes sur Ubuntu

Installer et configurer le journal avec Graylog dans Ubuntu 20.04

Comment installer et configurer le pare-feu UFW sur Ubuntu 20.04

Comment installer et configurer Memcached sur Ubuntu