GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Ubuntu – ¿Configurar Sssd (sudo y Dyndns_update) con Realmd?

Estoy tratando de unir Ubuntu 16.04 a un dominio de Windows (directorio activo) usando realmd + sssd. Básicamente, estaba siguiendo esta publicación que funcionó bastante bien y pude unirme a mi servidor y autenticar con éxito como usuario de AD. Sin embargo, faltan dos piezas en la integración:

  1. Registrar el nombre de host del servidor en DNS
  2. Usar sssd-sudo para autorización de usuario

Registrar el nombre de host del servidor en DNS

Como se mencionó, me uní con éxito al AD usando
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

Sin embargo, a pesar de la unión exitosa, mi servidor no es conocido por las otras máquinas en el dominio que usan su nombre de host ip-172-28-5-174.mydomain.int . Encontré esta documentación que menciona un dyndns_update configuración en el archivo sssd.conf.

Como estoy usando realm. La configuración de sssd se genera automáticamente emitiendo el comando de unión. El archivo de configuración generado se ve así:

[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

Es decir, de alguna manera necesito agregar dyndns_update = True a este archivo generado. ¿Pero cómo?

Usar sssd-sudo para autorización de usuario

Además, quiero hacer que sssd lea mi configuración de sudo de AD. Creo que esto se puede lograr usando sssd-sudo, pero también se debe habilitar/configurar en el archivo sssd.conf agregando sudo a los servicios sssd y use sudo_provider = ldap para mi dominio. Nuevamente, no puedo averiguar cómo hacer esto con realm.

Básicamente, quiero que mi archivo de configuración generado se vea así:

[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

¿Alguna idea sobre cómo se puede lograr esto?

Respuesta aceptada:

Si desea que Active Directory administre sudoers , debe cargar un esquema especializado en AD y luego crear sus reglas usando una herramienta como ADSI Edit. Este tutorial funcionó para mí en Ubuntu 14.04. Los aspectos más destacados son:

  • Importar schema.ActiveDirectory
  • Cree reglas siguiendo la página de manual de sudoers-ldap
  • Actualizar etc/nsswitch.conf para incluir sss entre las entradas de sudoers = línea
  • Actualizar etc/sssd/sssd.conf para incluir:
    • sudo entre las entradas en services = línea
    • un [sudo] vacío sección (no se requieren configuraciones, pero Redhat afirma que esto desencadena la configuración adecuada del soporte de Sudo)
    • una línea como sudo_provider = ad (Los documentos sssd en pagure.org afirman que el proveedor sudo está habilitado de forma predeterminada para ldap, ad e ipa, por lo que esto puede ser opcional)

Cuando repito este proceso para 16.04 (es decir, las mismas reglas de AD que 14.04), en realidad tengo otros problemas. Aparentemente, esto no es raro. Es posible que haya un error en la versión de sudo incluida en 16.04.

  • En principio, la actualización manual a la última debería resolver este problema.
  • El sudo habitual paquete (no sudo-ldap ) es el paquete correcto si desea SSSD (y no sudo ) para gestionar la conexión ldap. Específicamente, instalando sudo-ldap no produjo registros en sssd_sudo.log mientras que el sudo regular el paquete lo hizo.
  • Mientras sssd_sudo ahora muestra Returning 2 rules for [<user>@<domain>] , sudo -l sigue respondiendo con Sorry, user <user>@<domain> may not run sudo on <host> por lo que puede haber otros problemas que necesiten ser resueltos.
Relacionado:¿Cómo averiguar en los registros qué causó el apagado del sistema?

Sin embargo, es posible que mi situación no sea típica, ya que tengo problemas adicionales que no parecen ser comunes. Por ejemplo, tuve problemas para ejecutar realm join que se resolvieron utilizando soluciones alternativas de esta pregunta de falla del servidor.

Si encontró su camino aquí debido a problemas de realmd/sssd/sudo en 16.04, aquí hay algunos otros problemas informados que pueden ser útiles (no necesariamente directamente relacionados con el problema del OP):

  • Problema del grupo de red del host de IPA (más información en la lista de usuarios de ipa gratis)
  • Hay un problema conocido con la resolución de dependencias de realmd. Como se mencionó en la discusión, la instalación de packagekit se resuelve para muchos (incluidos nosotros). Puede haber otro problema con la versión 16.04.

Estamos evaluando la actualización 16.04, por lo que podemos dejar esto en un segundo plano, pero esperamos que nuestro trabajo preliminar ayude a otros.


Ubuntu
  1. Cómo instalar y configurar Nginx en Ubuntu 20.04

  2. Instale Nginx y configure el host virtual en Ubuntu 20.04

  3. ¿Cómo instalar y configurar Varnish en Ubuntu 20.04?

  4. ¿Instalar Composer y configurar con Xampp?

  5. Cómo instalar y configurar LibreNMS en Ubuntu 20.04

Cómo instalar y configurar GitLab CE en Ubuntu 18.04 LTS

Cómo instalar y configurar DNS en Ubuntu

Cómo instalar y configurar Kubernetes en Ubuntu

Instalar y configurar Log con Graylog en Ubuntu 20.04

Cómo instalar y configurar el cortafuegos UFW en Ubuntu 20.04

Cómo instalar y configurar Memcached en Ubuntu