Автор Тема: Разделение прав доступа  (Прочитано 773 раз)

Vittmann

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Разделение прав доступа
« : 14 Февраль 2018, 20:22:43 »
Всем привет. Возможно 100500 раз заданый вопрос -если так, то ткните носом в ссылки .если не трудно.
Есть необходимость авторизовывать пользователей, причем избирательно -на некоторых машинах могут авторизовываться пользователи только конкретных групп, а на некоторых - все, без исключения.
Сеть состоит из машин с mac os и windows (причем первых - подавляющее большинство). Пробовал и Open Directory от Apple и OpenLdap связке с PHPOpenLdapAdmin и FreeIPA. Но не удается разобраться, какие же атрибуты позволяют такое осуществить.Причем во FreeIPA прям все на ладони в веб-интерефейсе , но опечалила необходимость создавать сначала локально на каждом ПК локальных юзеров,с логинами,аналогичными ,тем которые есть в IPA.

Уже дошел до того,что samba 4  AD установил. Да,там видно где это делать, но проблема в том,что на win-машинах это работает без проблем, но маки игнорируют записи о том,что конкректному юзеру можно логиниться только на конкретных машинах а не на всех - в итоге на машинах с мас os может войти любой юзер,несмотря на ограничения,  которые заданы.

marawu

  • Пользователь
  • **
  • Сообщений: 76
  • !
    • Просмотр профиля
Re: Разделение прав доступа
« Ответ #1 : 19 Февраль 2018, 21:23:39 »
Добрый день, если проблема актуальна ещё, могу попробовать вам помочь.

Я у себя настраивал аутетификацию на macOS с помощью openLDAP.

На самом деле всё оказалось не так страшно.

Основную информацию черпал отсюда http://pig.made-it.com/ldap-mac.html

Так же спасибо Егору, который помог мне со схемами Apple.

И так, у меня сейчас работает аутетификация на macOS на десятке машин, массово пока ещё не стали внедрять, есть свои тонкости.

Первая важная тонкость: в macOS всё работает через uuid. К примеру вот так выглядит минимальная учетная запись для работы с macOS:


dn: uid=nikita.spitckij,ou=People,dc=digital-ecosystems,dc=ru
1147 uid=nikita.spitckij,ou=People,dc=domain,dc=ru$
uidNumber: 1537$
objectClass: top$
objectClass: inetOrgPerson$
objectClass: qmailUser$
objectClass: organizationalPerson$
objectClass: person$
objectClass: posixAccount$
objectClass: shadowAccount$
objectClass: apple-user$
objectClass: ldapPublicKey$
objectClass: radiusprofile$
sn:; Спицкий$
givenName:; Никита Андреевич$
displayName:; Спицкий, Никита$
cn:; Никита Спицкий$
uid: nikita.spitckij$
ou: ou=People,dc=domain,dc=ru$
preferredLanguage: ru_RU$
homeDirectory: /home/nikita.spitckij$
mail: nikita.spitckij@domain.ru$
apple-user-homeurl: /Users/nikita.spitckij$
apple-generateduid: F8C2ED3B-07E0-4222-83F2-2A58203CF919$
radiusTunnelMediumType: 6$
radiusTunnelPrivateGroupId: 111$
radiusTunnelType: VLAN$
sshPublicKey: $
loginShell: /bin/bash$
userPassword: {SSHA}gdfgdgf==$
initials:; Н.А.$
gidNumber: 100$
mailQuotaSize: 1000000000$
Здесь не все атрибуты нужны, просто для примера взял что первое под руку попалось. И так атрибут apple-generateduid нужен обязательно, через него работает членство в группах и права, на стандартные posixGroup macOS забивает (из-за этого я долго не мог понять, почему нормально права не сохраняются). Второе хомяк: советую сделать отдельный атрибут, так как с папкой home в macOS всё не просто, это "пвевдокаталог", я пытался курочить fstab, но больше проблем. Третье, будьте аккуратны с uidNumber и giNumber, лучше их начать как в любой UNIX-системе с 60000, что бы не пересекаться с системными учетными записями и группами.

Как в кратце настроить ldap-сервер

1. Необходимо добавить схемы Apple и Samba (подразумевается, что у вас уже есть настроенный ldap)

2. Подключить на macOS ldap сервер. Если вы неиспользуйте RFC, тогда придется собрать свою схему. Хорошая новость, ее можно загрузить в ldap и потом просто забирать при новой настройке. Плохая новость, что через terminal я так и не нашел как настраивается Directory Utility, поэтому с автоматизацией всё плохо.

3. PROFIT

Выглядит всё просто, но я кучу времени убил, что бы в этом разобраться:( С группами тоже не всё тривиально.

Вообще надо бы написать подробный мануал

Вот что могу в кратце рассказать. Пишите вопросы, постараюсь максимально быстро ответить.
« Последнее редактирование: 19 Февраль 2018, 21:37:50 от marawu »

marawu

  • Пользователь
  • **
  • Сообщений: 76
  • !
    • Просмотр профиля
Re: Разделение прав доступа
« Ответ #2 : 19 Февраль 2018, 21:33:12 »
Уже дошел до того,что samba 4  AD установил. Да,там видно где это делать, но проблема в том,что на win-машинах это работает без проблем, но маки игнорируют записи о том,что конкректному юзеру можно логиниться только на конкретных машинах а не на всех - в итоге на машинах с мас os может войти любой юзер,несмотря на ограничения,  которые заданы.

Вот тут наверно посложнее будет, в Directory Utility нет фильтра к сожалению. Вы можете попробовать например фильтровать по юзернейму или id как написано тут: https://discussions.apple.com/thread/5024630. По хорошему конечно хотелось бы это делать по членству в группе, но я пока не знаю как.

Почитаю - отпишусь

marawu

  • Пользователь
  • **
  • Сообщений: 76
  • !
    • Просмотр профиля
Re: Разделение прав доступа
« Ответ #3 : 19 Февраль 2018, 21:37:25 »

Причем во FreeIPA прям все на ладони в веб-интерефейсе , но опечалила необходимость создавать сначала локально на каждом ПК локальных юзеров,с логинами,аналогичными ,тем которые есть в IPA.


Я немного использовал FreeIPA, не знаю зачем там создавать локальных пользователей, там ведь обычный 389 DS + Kerberos. Я думаю нужно его подключить как просто LDAP-сервер и просто добавить галочки про Kerberos во вкладке безопасность.


У FreeIPA есть кстати ман по настройке Kerberos на macOS - https://www.freeipa.org/page/HowTo/Setup_FreeIPA_Services_for_Mac_OS_X_10.12


Vittmann

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Разделение прав доступа
« Ответ #4 : 22 Февраль 2018, 20:11:01 »
Приветствую.

Спасибо за развернутые ответы. Честно говоря,я пробежавшись по вашим темам эти файлы и ссылки нашел.  Но потратив  время, отложил в сторону,т.к не смог одолеть  :(

Количество юзеров и станций с mac os быстро растет, и приходиться искать, то,что работает, с оговоками конечно, "из коробки". Пока  - Samba 4 AD, хотя не очень хотелось.

Кстати, Вы не в курсе - возможно ли потом "мигрировать" на OpenLDAP ?

По FreeIPA я это имел ввиду
Цитировать
On OS X 10.13.x, a mobile account fails to build a profile at initial login Workaround: create a local account, build profile, change local account to mobile
https://www.freeipa.org/page/HowTo/Setup_FreeIPA_Services_for_Mac_OS_X_10.12

Пробовал вводить Windows 10 (тоже есть машины) была проблема со входом под юзером. Потом увидел такую строку в мануале 
Цитировать
нужно создать локальных пользователей с логинами, аналогичными логинам IPA"
https://www.rosalinux.ru/wp-content/uploads/2016/10/FreeIPA_Windows_7_integration.pdf