Autenticar usuarios de Mac por LDAP

2

Me conecté al servidor LDAP con una cuenta especial y buscando la contraseña usando la utilidad de directorio.

Cuando configuro el Servicio LDAPv3 en RFC2307 Asignaciones LDAP, con SSL activado, puedo moverme al Editor de directorios y autenticar usando el nombre de usuario y la contraseña para el directorio LDAP. Sin embargo, no puedo iniciar sesión en la computadora.

Hice esto:

  1. Marque la casilla en Usuarios & Grupos: permitir a los usuarios de la red iniciar sesión ....
  2. Opciones de clic
  3. Elija solo estos usuarios de red
  4. Hice clic + y busqué mi nombre de usuario LDAP
  5. Seleccionó el nombre de usuario para que aparezca en la lista.

Cuando intento iniciar sesión, el cuadro solo se sacude y estos mensajes de error de registro llegan al system.log.

Aug 31 10:35:58 MacBook-Pro SecurityAgent[1150]: User info context values set for 
userid
Aug 31 10:35:58 MacBook-Pro authorizationhost[1157]: Failed to authenticate
user <userid> (error: 13).

Algunas guías en la web indican que el error 13 es así:

Indicates that the session is not protected by a protocol such as
Transport Layer Security (TLS), which provides session 
confidentiality and the request will not be handled without
confidentiality enabled.

Pero elegí SSL y no encuentro una caja o método para cambiar esto a TLS en la Utilidad de Directorio de Mac. Cuando hago clic en Seguridad en la sección de configuración (donde coloco la información de "usar autenticación al conectar") las opciones de la Política de seguridad no están disponibles con el mensaje "Las capacidades y los requisitos del servidor determinan la disponibilidad de las opciones".

Por lo tanto, no puedo elegir firmar todos los paquetes o cifrar todos los paquetes ...

Cuando elijo otros esquemas de conexión, como Open Directory o Custom, no pude autenticarme en la ventana del editor de directorios. (Error 500, 2100)

La información de "autenticación al conectar" es la misma que utilizo para las aplicaciones web que proporcionan acceso mediante LDAP, por lo que seguramente funciona en el campo. Simplemente no aparentemente desde la Mac al intentar iniciar sesión.

¿Tiene algún consejo para permitir que los usuarios se autentiquen en este mac mediante LDAP para acceder a las carpetas compartidas?

    
pregunta ndasusers 31.08.2016 - 17:21

1 respuesta

1

Aquí hay algunas configuraciones que están funcionando por ahora para proporcionar una cuenta de estilo de kiosco predeterminada que inicie sesión mediante la autenticación ldap.

Fileserver: MacBookPro Mac OS: El Capitán

Esto se basa en Conexión 10.5 al LDAP de Stanford

Con esta configuración, todos los usuarios de ldap iniciarán sesión, pero tendrán el mismo directorio de inicio y la misma identificación de usuario del sistema. Solo es útil si un usuario de ldap a la vez inicia sesión en la máquina.

Crea el contenido predeterminado de la carpeta de inicio del usuario

Cree un usuario estándar desde Apple - > Preferencias del sistema - > Usuarios & Grupos

User: ldaptemplate
Pass: randomAnyP@ssKe1

Inicie sesión como el ldaptemplate. (Personalice el escritorio si lo desea).

Cerrar sesión

Cree una carpeta con un ID único como propietario, luego copie todo dentro de ldaptemplate a la nueva carpeta.

su -s 
mkdir /Users/ldap
rsync --quiet --recursive --links --perms --group --delete --extended-attributes /Users/ldaptemplate/ /Users/ldap
chown -R 900 /Users/ldap

Agregue el script de restablecimiento del directorio de inicio al enlace de inicio de sesión

mkdir /Library/Management
nano /Library/Management/ldapcleanup.bash

Pegar en el script a continuación

#!/bin/bash
# /Library/Management/ldapcleanup.bash
# Copies the templates user home directory to the Kiosk user home dir
# When a Kiosk user logs in using LDAP authentication

templateDir="/Users/ldaptemplate/";
targetDir="/Users/ldap";
targetOwner=900;

# this script must be run as root, bail if it is not
if [ "$(whoami)" != "root" ]; then
echo "This script must be run as root!"
exit 0;
fi

# here we test to make sure both the directories we are using exist on this system
if [ ! -d $templateDir ] || [ ! -d $targetDir ]; then
echo "Either $templateDir or $targetDir did not exist!";
exit 0;
fi

# now we use rsync to make the target mirror the template
# note that we are not preserving owner
rsync --quiet --recursive --links --perms --group --delete --extended-attributes $templateDir $targetDir

# and then we make sure everything has the correct owner
chown -R $targetOwner $targetDir

exit 0;

Guarde el script y cierre el editor

control + x y return

Haga que el script se ejecute cuando un usuario inicie sesión

 defaults write com.apple.loginwindow LoginHook /Library/Management/ldapcleanup.bash

Salir del modo de terminal de usuario root

exit

Agregue su ldap.server.tld a la lista en Servicios de directorio

comando + espacio - > Utilidad de directorio - > entrar

Haz clic en bloquear y autenticar para realizar cambios

Selecciona LDAPv3 - > Editar - > Nuevo

    Server Name or IP Address: ldap2.server.tld
    √ Encrypt using SSL
    √ Use for authentication
    Continue

Seleccionar servidor - > Haga clic en Editar

Establezca todas las partes de cada pestaña como se muestra a continuación, para que coincidan con los requisitos de su servidor de ldap y los campos de información provistos. Cosas aquí, trabajé en este trabajo en particular.

Ficha de conexión:

Configuration name: ldap2.server.tld
Server Name or IP Address: ldap2.server.tld
default timeouts
√ Encrypt using SSL
Default port is 636 (your server may need custom)

Buscar & Pestaña Asignaciones

  • Esta parte hace o rompe el inicio de sesión. Solo necesitaba una configuración mínima al final. Básicamente, las cosas en el lado izquierdo de las cajas se pueden asignar a las propiedades de LDAP en el lado derecho. Pueden ser información sobre la persona o las cosas de la cuenta como la carpeta de la red doméstica y muchas otras cosas.

    Elija Personalizar, borre todo del cuadro de la izquierda y luego agregue lo siguiente.

    > People         (Search base: ou=People,dc=server,dc=edu)
        RecordName   Map to uid
    > UserAuthenticationData (Search base: ou=People,dc=server,dc=edu)
        RecordName  Map to uid
    > Users      Search base: ou=People,dc=server,dc=edu) 
                 Map to inetOrgPerson
        AuthenticationAuthority  Map to uid
        EMailAddress             Map to mail
        FirstName                Map to givenName
        JobTitle                 Map to title
        LastName                 Map to sn
        NFSHomeDirectory         Map to #/Users/ldap
        OrganizationName         Map to serverEduStaffDepartment
                                 (or some existing ldap field)
        PostalAddress            Map to postalAddress
        PrimaryGroupID           Map to #900 
        RealName                 Map to cn (users ldap full name)
        RecordName               Map to aid (users ldap id)
        UniqueID                 Map to #900
                                (Default owner of that folder we made)
        UserShell                #/bin/bash
    

pestaña de seguridad:

  • Este servidor ldap requiere la cuenta autorizada del grupo para buscarlo. Sin esta cuenta, la pantalla de inicio de sesión en el Mac mostró un punto rojo, incapaz de conectarse a la red. Esta información es configurada y proporcionada por el equipo de administración de LDAP en esta organización.

    Access to Directory
      √ Use authentication when connecting 
      Distinguished Name: uid=someid,ou=SomeGroup,dc=server,dc=edu
      Password: somelongpasswordstringprovidedbyldapadmins
    
    Click OK, OK
    

Elegir política de búsqueda

Click + 
Add your new LDAP server to the list

Elija el Editor de directorios e intente utilizar la búsqueda y el inicio de sesión de LDAP.

Select Users in node /LDAPv3/ldap.server.tld
    * Try searching for your id, If you can't find it something wrong
      with setup.
    * Click the lock to authenticate. If you can't something did not
      map right. Check that mac did not auto-correct 'uid'

Click lock to de-authenticate

Close Directory Utility

Permitir el inicio de sesión de red de los usuarios & Grupos

Esta parte le dice a Mac que compruebe el directorio de ldap para las cuentas de usuario.

Click Apple -> System preferences -> Users & Groups

    Automatic Login: Off
    Display login window as Name and password
    Show fast user switching menu as Full Name
    Click the lock to make changes and authenticate
    √ Allow network users to log in at login window
    Click Edit near Network Account Server: 
    Click + and choose the ldap server created previously

Después de estos cambios, el MacBook se reinició y pude iniciar sesión como usuarios autenticados con LDAP. Los mensajes de registro ahora muestran:

Sep  1 13:40:24 MacBook-Pro SecurityAgent[652]: User info context 
                values set for auser
Sep  1 13:40:44 MacBook-Pro KeyAccess[62]: opened session B8860100,
                auser (en_US)

Después de que se realizó toda la configuración, la respuesta a la pregunta original, "¿Tiene algún consejo para permitir que los usuarios se autentiquen en este mac mediante LDAP para acceder a carpetas compartidas?" es configurar todo como se muestra arriba, luego compartir la carpeta con el usuario de la red.

Agregue inicios de sesión de red al recurso compartido

Click Apple -> System preferences -> Sharing
Choose File Sharing
Select the Shared Folder:
Click + in the Users box
Choose Network Users
Search for the ldap ID you want to add
Highlight the user
Click Select

Después de esto, cuando se lanzó el juguete de copia de seguridad, los usuarios de la red se autenticaron y el script se ejecutó tan bien como cuando se autentificó en la cuenta del usuario local.

    
respondido por el ndasusers 01.09.2016 - 20:00

Lea otras preguntas en las etiquetas