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.