Самым оптимальным вариантом является монтирование сетевых папок в домашний каталог пользователя при запуске рабочего стола этого пользователя и только тех папок, которые необходимы данному пользователю.
Допустим, пользователю Ульяновск.BSD для работы необходимо подключать две папки, имеющие имена COMMON и USERS соответственно. Данные сетевые папки находятся на машине, NetBIOS имя которой SRVPC и IP-адрес 192.168.0.25. К указанным сетевым папкам разрешено подключаться пользователю GRAY, зарегистрированному на машине SRVPC и имеющему пароль 12345.
Для начала необходимо включить пользователя в группу operator и разрешить пользователям этой группы выполнять команды mount_smbfs и umount. Для этого необходимо создать файл /usr/local/etc/sudoers.d/mount_umount_smbfs следующего содержания:
%operator ALL = NOPASSWD: /usr/sbin/mount_smbfs
%operator ALL = NOPASSWD: /sbin/umount
Для автоматического подключения указанных ресурсов необходимо получить пароль пользователя GRAY в зашифрованном виде:
smbutil crypt "12345"
Пароль можно не указывать, тогда будет предложено ввести пароль с клавиатуры.
Затем в каталоге пользователя необходимо создать файл ~/.nsmbrc следующего содержания (имена серверов, пользователей, ресурсов в этом файле нужно обязательно указывать заглавными буквами):
[SRVPC:GRAY]
password=$$12a1a06767a
Подробнее о формате файла .nsmbrc можно узнать из файла /usr/share/examples/smbfs/dot.nsmbrc.
Далее необходимо создать папку bin в каталоге пользователя и два исполняемых файла в ней для монтирования и размонтирования ресурсов.
Первый файл ~/bin/mount_shares.sh следующего содержания:
#!/bin/sh
mkdir -p ~/mnt/COMMON
mkdir -p ~/mnt/USERS
sudo mount_smbfs -I 192.168.0.25 -E UTF-8:CP866 //GRAY@SRVPC/COMMON ~/mnt/COMMON
sudo mount_smbfs -I 192.168.0.25 -E UTF-8:CP866 //GRAY@SRVPC/USERS ~/mnt/USERS
Второй файл ~/bin/umount_shares.sh следующего содержания:
#!/bin/sh
sudo /sbin/umount -f ~/mnt/COMMON
sudo /sbin/umount -f ~/mnt/USERS
Из терминала включить бит исполнения можно следующим образом:
chmod +x ~/bin/mount_shares.sh
chmod +x ~/bin/umount_shares.sh
В заключение необходимо открыть в главном меню «Приложения» → «Настройка» → «Параметры системы» → «Запуск и завершение». Выбрать вкладку «Автозапуск». Добавить сценарий ~/bin/mount_shares.sh со временем запуска "Перед запуском сеанса" и сценарий ~/bin/umount_shares.sh со временем запуска "Завершение сеанса".
В итоге при запуске рабочего стола пользователя в каталог этого пользователя будут подключаться требуемые сетевые папки с машины SRVPC, и они будут доступны по следующим путям:
~/mnt/COMMON
~/mnt/USERS
Посмотреть информацию о примонтированных ресурсах можно следующей командой:
smbutil -v lc
Примечание:
Команда mount_smbfs поддерживает работу только по протоколу SMB1 (CIFS). Возможно потребуется принудительное включение протокола SMB1 на машинах с установленной ОС Windows последних версий, если необходимо подключение сетевых папок с таких машин.