Aquí hay algunos ajustes que están funcionando por ahora para proporcionar una cuenta de estilo de quiosco por defecto de inicio de sesión por autenticación ldap.
Servidor de archivos: MacBookPro Mac OS: El Capitán
Esto se basa en Conectando 10.5 al LDAP de Stanford
Con esta configuración, todos los usuarios de ldap se conectarán, pero tienen el mismo directorio principal y el mismo ID de usuario del sistema. Sólo es útil si un usuario ldap a la vez se conecta a la máquina.
Crear el contenido de la carpeta de inicio del usuario por defecto
Haga un usuario estándar desde Apple -> Preferencias del sistema -> Usuarios y grupos
User: ldaptemplate
Pass: randomAnyP@ssKe1
Entra como el ldaplate. (Personaliza el escritorio si quieres).
Cierre de sesión
Haz una carpeta con un identificador único como propietario, luego copia todo el interior 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
Añade el restablecimiento del directorio principal script al gancho de inicio de sesión
mkdir /Library/Management
nano /Library/Management/ldapcleanup.bash
Pega en el script de abajo
#!/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;
Guarda el script y cierra el editor
control + x y return
Hacer 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
Añade tu ldap.server.tld a la lista de Servicios de Directorio
comando + espacio -> Utilidad de directorio -> entrar
Haga clic en bloquear y autentificar para hacer cambios
Elija LDAPv3 -> Editar -> Nuevo
Server Name or IP Address: ldap2.server.tld
√ Encrypt using SSL
√ Use for authentication
Continue
Selecciona Servidor -> Haz clic en Editar
Configure todas las partes de cada pestaña como se indica a continuación, para que coincidan con los requisitos de su servidor ldap y los campos de información proporcionados. Las cosas aquí, trabajaron en este trabajo en particular.
Pestaña 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)
Pestaña de Búsqueda y Mapeo
-
Esta parte hace o rompe el inicio de sesión. Al final sólo necesitaba un ajuste mínimo. Básicamente, las cosas en el lado izquierdo de las cajas pueden mapear a las propiedades LDAP en el lado derecho. Pueden ser información sobre la persona o cosas de la cuenta como la carpeta de inicio de la red y muchas otras cosas.
Elige Personalizado, borra todo de la casilla izquierda y añade 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
Ficha de seguridad:
-
Este servidor ldap requiere que la cuenta autorizada del grupo lo busque. Sin esta cuenta la pantalla de acceso en el Mac mostraba un punto rojo, incapaz de conectarse a la red. Esta información es configurada y proporcionada por el equipo de administración LDAP de 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
Elija la política de búsqueda
Click +
Add your new LDAP server to the list
Elija el Editor del Directorio e intente usar la búsqueda e inicio de sesión 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 acceso a la red desde Usuarios y Grupos
Esta parte sólo le dice a Mac que compruebe en el directorio ldap 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 fue reiniciado y pude entrar como usuario autentificado de LDAP. Los mensajes de registro ahora se 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 haber hecho toda la configuración, la respuesta a la pregunta original, "¿Algún consejo para permitir a los usuarios autenticarse en este mac por LDAP para acceder a las carpetas compartidas?" es configurar todo como arriba, y luego compartir la carpeta con el usuario de la red.
Agregar los inicios de sesión de la 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 respaldo, los usuarios de la red se autenticaron y el script se ejecutó tan bien como cuando se autenticó contra la cuenta del usuario local.
0 votos
¿Se puede acceder a una carpeta compartida antes de vincularse a AD/LDAP? Si eso es todo lo que quieres, esa tuerca es mucho más fácil de romper que la vinculación. (si su objetivo principal es SSO para la autenticación de usuarios, tal vez eliminar la última pregunta y centrarse en la necesidad de obtener el inicio de sesión único para la cuenta de usuario configurado).
0 votos
Gracias por ayudarme. Puedo hacer recursos compartidos en el Mac y compartirlos con una cuenta local (sólo recursos compartidos) o una cuenta de invitado a otros usuarios. Sólo quiero dejar que el servidor de recursos compartidos autentique a los otros usuarios mediante LDAP para no tener que crear muchas cuentas reales en el Mac que compartirán los archivos. Sólo quiero añadir los usuarios de la red a la lista utilizando su uid LDAP
0 votos
De acuerdo. Este mac necesita enlazar para autenticar a otros usuarios en su recurso compartido. Mucho más claro.
0 votos
Lo siento, pero sigo sin tener claro el escenario. ¿No se puede autenticar en el Mac en absoluto actualmente? Ya sea la ventana de inicio de sesión o de forma remota para el acceso a archivos compartidos? Yo empezaría de forma más sencilla: desactiva SSL/TLS en la conexión LDAP en el Mac, desactiva la restricción para permitir el inicio de sesión a tu único usuario (que puede ser inestable), asegúrate de que tu usuario LDAP tiene todos los atributos necesarios para un usuario de OS X (por ejemplo, shell por defecto).
0 votos
Gracias por responder. El escenario es sólo tener un servidor de archivos que comparte algo de almacenamiento con los usuarios que se autentican desde el directorio ldap. No quiero hacer muchos usuarios en la máquina y cuenta de invitado no está permitido. Con la siguiente configuración, los inicios de sesión de trabajo LDAP nombre de usuario / frase de contraseña y los usuarios locales también pueden iniciar sesión sin problemas. El servidor LDAP requiere SSL para conectarse, no se puede desactivar. Creo que funcionará para esta situación. ¿Puedes compartir todos los atributos por defecto para un usuario OS X? Yo haría esa lista tan mínima como sea necesario.