Вот некоторые настройки, которые работают на данный момент, чтобы обеспечить учетную запись в стиле киоска по умолчанию, в которой выполняется вход с помощью аутентификации ldap.
Файловый сервер: MacBookPro Mac OS: El Capitan
Это основано на подключении 10.5 к LDAP Стэнфорда
При такой настройке все пользователи ldap будут входить в систему, но иметь одинаковый домашний каталог и системный идентификатор пользователя. Это полезно, только если один пользователь ldap одновременно будет входить в систему на компьютере.
Создайте содержимое домашней папки пользователя по умолчанию
Сделать обычного пользователя из Apple -> Системные настройки -> Пользователи и группы
User: ldaptemplate
Pass: randomAnyP@ssKe1
Войдите в систему как ldaptemplate. (Настройте рабочий стол, если хотите.)
Выйти
Создайте папку с уникальным идентификатором в качестве владельца, затем скопируйте все внутри ldaptemplate в новую папку.
su -s
mkdir /Users/ldap
rsync --quiet --recursive --links --perms --group --delete --extended-attributes /Users/ldaptemplate/ /Users/ldap
chown -R 900 /Users/ldap
Добавьте скрипт сброса домашней директории в хук входа
mkdir /Library/Management
nano /Library/Management/ldapcleanup.bash
Вставьте в скрипт ниже
#!/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;
Сохраните скрипт и закройте редактор
control + x y return
Запустите скрипт, когда пользователь входит в систему
defaults write com.apple.loginwindow LoginHook /Library/Management/ldapcleanup.bash
Выход из режима корневого пользовательского терминала
exit
Добавьте свой ldap.server.tld в список в Службах каталогов
команда + пробел -> Утилита каталогов -> введите
Нажмите кнопку блокировки и авторизуйтесь, чтобы внести изменения
Выберите LDAPv3 -> Изменить -> Создать
Server Name or IP Address: ldap2.server.tld
√ Encrypt using SSL
√ Use for authentication
Continue
Выберите Сервер -> Нажмите Изменить
Установите все части каждой вкладки, как показано ниже, чтобы они соответствовали требованиям вашего ldap-сервера и предоставленным информационным полям. Вещи здесь, работали на этой конкретной работе.
Вкладка «Соединение»:
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)
Вкладка «Поиск и сопоставления»
Эта часть делает или ломает логин. Мне нужно было только минимальное урегулирование в конце. В основном вещи на левой стороне ящиков могут отображаться на свойства LDAP на правой стороне. Они могут быть информацией о человеке или учетной записи, такой как домашняя папка сети и многое другое.
Выберите Custom, удалите все из левого поля, затем добавьте следующее.
> 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
Вкладка «Безопасность»:
Для этого ldap-сервера требуется авторизованная учетная запись группы для его поиска. Без этой учетной записи на экране входа в систему Mac отображалась красная точка, которая не могла подключиться к сети. Эта информация настраивается и предоставляется командой администраторов LDAP в этой организации.
Access to Directory
√ Use authentication when connecting
Distinguished Name: uid=someid,ou=SomeGroup,dc=server,dc=edu
Password: somelongpasswordstringprovidedbyldapadmins
Click OK, OK
Выберите политику поиска
Click +
Add your new LDAP server to the list
Выберите Редактор каталогов и попробуйте использовать поиск 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
Разрешить вход в сеть от пользователей и групп
Эта часть просто говорит Mac, чтобы проверить каталог ldap для учетных записей пользователей.
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
После этих изменений MacBook был перезагружен, и я мог войти в систему как аутентифицированные пользователи LDAP. Сообщения журнала теперь показывают:
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)
После того, как все настройки были выполнены, ответ на оригинальный вопрос «Есть ли какой-либо совет, позволяющий пользователям проходить аутентификацию на этом Mac с помощью LDAP для доступа к общим папкам?» это настроить все, как указано выше, а затем поделиться папкой с пользователем сети.
Добавить сетевые логины к общему ресурсу
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
После этого, когда была запущена резервная игрушка, пользователи сети проходили аутентификацию, и скрипт запускался так же, как и при аутентификации с использованием локальной учетной записи пользователя.