[Sysadmins] как организовать автоматически подключаемую папку пользователя домена

Evgeny Sinelnikov sin на altlinux.org
Пн Июл 26 00:03:54 MSK 2021


Доброй ночи,

мы работаем над этой задачей. Давайте разберемся с целями содержательно.

1) Не уверен, что задачи состоит именно в монтировании. Если
пользователям достаточно просмотра и работы с файлами через
графический файловый менеджер, то достаточно создать ярлык ссылающийся
на общий сетевой каталог в формате smb://ИМЯ_СЕРВЕРА/ИМЯ_ШАРЫ

Для автомонтирования целесообразно использовать такой инструмент, как
automount. Но об этом позже, в другой раз, когда будем рассматривать
такую задачу.

2) Для доступа к сетевой каталогу, "в который имеет доступ только
пользователя домена, и больше никто" целесообразней всего использовать
так называемый домашний каталог на файловом сервере. Для этого в
/etc/samba/smb.conf существует специальная секция - [homes]:

$ grep -A5 homes /etc/samba/smb.conf
[homes]
comment = Home Directories
browseable = no
writable = yes
; valid users = %S
; valid users = MYDOMAIN\%S

___________________
Пояснение (можно пропустить, для начала).
---------------------------------

Стоит учесть, что на текущий момент существует некоторая разница между
тем является ли файловый сервер контроллером домена или нет. В целом
ряде случае очень важно, чтобы uid'ы и gid'ы, на которые отображаются
sid'ы из Active Directory совпадали на клиенте и на сервере. Прежде
всего это важно для того, чтобы при монтировании с unix-расширениями
протокола CIFS это отображение соответствующим образом отображалось на
идентификаторы пользователей и групп получаемые на клиенте. Хотя тут
стоит учесть, что в реализации протокола cifs в ядре постепенно
оказался выпилен старый протколол SMB1 и не завершёна реализация unix
расширений в протоколе:
- https://wiki.samba.org/index.php/UNIX_Extensions
- https://wiki.samba.org/index.php/LinuxCIFSKernel

В общем, в идеале, для файлового сервера не стоит сейчас использовать
тот же сервер, что и контроллер домена. Если же его использовать, то
для аутентификации на сервере нужно вместо sssd включать winbind. При
этом сам сервер, через kerberos, как служба и так отображает uid'ы и
gid'ы на sid'ы через winbind.

Эта задача возникает при локальной работе пользователей на этом
сервере. Ну, странно, наверное, логиниться на контроллер домена из-под
локального пользователя. Тем не менее, это достаточно частый вариант
работы на контроллере домена.
___________________

3) Задача создания ярлыков в AD решается с помощью соответствующей политики:
https://www.altlinux.org/Групповые_политики/Управление_ярлыками

Пример настройки, для которой требуется доработка:
https://drive.google.com/uc?export=view&id=1eeBu49ju9Le1XeIrrtWFrZxBgSjvj6fk

О доработке.

На текущий момент не весь перечень подстановок реализован, в частности
%LogonUser% (см. снимок экрана выше). Поэтому "подсунуть" в каждый
ярлык имя пользователя просто так не получится. Думаю, что мы выпустим
в ближайшее время необходимое исправление.

Без этой доработки придётся сделать так, как это предложено на wiki
проекта samba для Windows пользователей - создать отдельную шару users
на тот же каталог с домашними каталогами:
https://wiki.samba.org/index.php/Windows_User_Home_Folders

В этом случае, возможно, придётся "повозиться" с правами на файлы.

Подключение домашнего каталога на шаре для Linux-пользователей из
свойств профиля, как это показано для Windows-пользователей у нас пока
не предусмотрено.

4) Ещё пара моментов:
- для данного решения также необходимо существование каталога
пользователя на сервере. Если на файловый сервер пользователь не может
залогинится, то у него не будет и домашнего каталога.

С одной стороны это неудобно, с другой - позволяет контролировать у
кого есть домашний каталог, а у кого - нет и быть не должно. Для того
чтобы создавать каталоги всем подряд в рассылке samba рассматривался
вариант использования опции preexec:
https://lists.samba.org/archive/samba/2005-June/106958.html

_____________________________________________


Если строго следовать логике поставленной задачи, то предложенный мной
вариант мне кажется наиболее оптимальным. Особенно, если предусмотреть
необходимую доработку.

Если задача мной понята не в полной мере или имеются дополнительные
уточнения в рамках требований, то давайте рассмотрим их подробнее.



вс, 25 июл. 2021 г. в 20:14, Александр Клепалов <a.klepalov на school100nt.ru>:
>
> Добрый день!
>
> Коллеги, прошу помощи в решении задачи организации автоматически подключаемой папки пользователя домена.
> Подробно: на файловом сервере, для каждого пользователя домена создается папка, в которую имеет доступ только он, и больше никто. (это понятно решается правами)
> Когда юзер логинится под собой на любой машине в домене,ему автоматически должна подключаться эта папка, и создаваться ярлык на неё. Без каких либо действий с его  стороны.
> Есть конечно fstab, есть gio (кстати очень похоже на то что требуется, но это нужно делать пользователю руками - а у меня пользователи учителя возрастом 50+ со всеми вытекающими...) но они подразумевают ручные действия по добавлению папки на каждой машине под каждым пользователем (машин где нужно  автомонтирование больше 60, пользователей больше 100....)
> Вобщем хочется что-то типа виндовых удаленных папок документов...
> Как можно автоматизировать процесс монтирования папки пользователя в Альт?
> --
> С уважением,
> Клепалов Александр Владимирович,
> Инженер-электроник МАОУ СОШ №100
> г. Нижний Тагил.
>
> _______________________________________________
> Sysadmins mailing list
> Sysadmins на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sysadmins



-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Sysadmins