Монтирование общего ресурса CIFS для пользователя с помощью AutoFS
Каждый пользователь должен иметь доступ к общему ресурсу группы cifs, используя свои собственные учетные данные при переходе к определенной папке ~/groupdrive внутри своей домашней папки. Учетные данные хранятся в файле ~/.cifs_credentials.
Я реализовал это с помощью pam_mount, но я застрял с множеством дубликатов и неправильно смонтированных монтировок.
Как я могу реализовать это поведение с помощью autofs? Можно ли несколько раз смонтировать общий ресурс в одной точке монтирования, например, /mnt/groupdrive с разными учетными данными и ссылками на него из домашней папки?
1 ответ
Вы можете использовать переменные в autofs, которые могут быть решением ваших требований. У каждого свой собственный способ сделать autofs, и это мой. Я просто сделал это на Ubuntu 18.04, прежде всего, чтобы посмотреть, работает ли он в этом выпуске:
Я отредактировал /etc/auto.master и добавил последнюю строку:
/mnt/Samba /etc/auto.sambashares --timeout=30 --ghost
Я специально создал родительскую папку /mnt/Samba, а не что-то в / media или домашний каталог, потому что это приводит к массовой путанице со стороны ОС.
Я отредактировал /etc/auto.sambashares и добавил одну строку, используя ${HOME} и в моем случае переменные ${UID}:
GroupShare -fstype=cifs,rw,credentials=${HOME}/.cifs_credentials,uid=${UID},iocharset=utf8 ://server/share
Затем перезапустил службу autofs.
Когда usera получает доступ к /mnt/Samba/GroupShare (который может быть добавлен в закладки), его учетные данные в /home/usera/.cifs_credentials будут использоваться для доступа к общему ресурсу, а userb будет использовать свои собственные учетные данные в своем собственном домашнем каталоге.
Альтернативный метод для одновременных пользователей:
** Создайте родительскую папку в / mnt для каждого пользователя - например: /mnt/bob и / mnt / mary.
** Изменение владельца для каждого пользователя (например, sudo chown bob / mnt / bob)
** Ограничить доступ только этому пользователю (sudo chmod 0770 / mnt / bob)
** Замените одну строку в auto.master на две:
/mnt/bob/Samba /etc/auto.sambashares-bob --timeout=30 --ghost
/mnt/mary/Samba /etc/auto.sambashares-mary --timeout=30 --ghost
** Затем создайте два файла auto.sambashares-xxx, каждый из которых имеет одинаковую строку:
GroupShare -fstype=cifs,rw,credentials=${HOME}/.cifs_credentials,uid=${UID},iocharset=utf8 ://server/share