Монтировать для каждого пользователя
Я отвечаю за небольшую сеть NFS и хочу настроить машины на выполнение различных монтировок в зависимости от того, какой пользователь входит в систему. Возможно ли это?
Например, если пользователь A входит в систему, я хочу, чтобы он видел только / home / users, и если пользователь B входит в систему, я хочу, чтобы он видел / home / users и / home / penguins.
Я знаю, что мог бы сделать это, используя групповые разрешения, но для дополнительной безопасности мне было бы интересно, если / home / penguins просто не может быть смонтирован при всех входах пользователя A.
5 ответов
Посмотрите на libpam-mount. Он в основном выполняет задачи монтирования для пользовательского сеанса (в то время как автомонтирование монтируется, когда папка точки монтирования статична).
Со страницы проекта:
Этот модуль предназначен для сред с центральными файловыми серверами, которые пользователь желает подключить при входе в систему и размонтировать при выходе из системы, таких как (полу) бездисковые станции, где многие пользователи могут входить в систему и где статическое монтирование всего / home с сервера является безопасным риск, или перечисление всех возможных объемов в / etc / fstab неосуществимо.
Обычно я бы предложил использовать autofs с таблицами монтирования, загруженными из LDAP, или в вашем случае несколько ржавый NIS. Но, поскольку для вас важно не монтировать объекты для определенных пользователей, а не полагаться на разрешения, autofs не для вас (хотя, скорее всего, это возможно).
Кроме того, я хотел бы отметить, что просто не наращивание экспорта вряд ли является мерой безопасности.
Ваш вопрос не очень хорошо определен, потому что понятие входа в систему не очень четко определено. Пользователь может запускать и останавливать процессы в любое время (например, из cron
). Несколько пользователей могут войти в систему одновременно - какие монтирования должны действовать в этом случае?
Я подозреваю, что вы действительно хотите, чтобы процессы, запущенные от имени разных пользователей, видели разные монтирования файловой системы, даже если эти процессы выполняются одновременно.
Linux может сделать это с помощью bindfs.
- смонтировать все файловые системы где-нибудь (независимо от пользователя), не предоставляя доступ пользователям, о которых идет речь
- использование
bindfs
перемонтировать их там, где пользователи получат к ним доступ (в зависимости от пользователя)
Вам не нужен автомонтирование. Просто установите соответствующие строки в fstab, чтобы пользователи могли монтировать эти монтируемые user
вариант в фстабе). Затем отредактируйте каждого пользователя ~/.profile
чтобы добавить команду монтирования там. Таким образом, каждый раз, когда пользователь входит в систему, будет подключен правильный диск.
Если вы хотите использовать автомонтирование, вы можете настроить его так, чтобы монтирование монтировалось в домашнем каталоге каждого пользователя. Затем, когда пользователь входит в систему и получает доступ к своему $HOME, autofs будет монтировать диски или разделы или все, что вы монтируете.
Изучите использование автомонтирования из autofs http://www.autofs.org/
Простой способ настроить это в Ubuntu:
apt-get install nfs-common autofs
добавлять /home /etc/auto.home
в /etc/auto.master
добавлять * nfsserver:/share/&
в /etc/auto.home
Это кажется довольно простым, если кто-то использует ручную команду "mount" внутри каждого пользователя.profile. Это позволяет активировать индивидуально настроенное монтирование, когда этот конкретный пользователь входит в систему со своим идентификатором и паролем.