5

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

Например, если пользователь A входит в систему, я хочу, чтобы он видел только /home /users, и если пользователь B входит в систему, я хочу, чтобы он видел /home /users и /home /penguins.

Я знаю, что мог бы сделать это, используя групповые разрешения, но для дополнительной безопасности мне было бы интересно, если /home /penguins просто не может быть смонтирован при всех входах пользователя A.

5 ответов5

1

Посмотрите на libpam-mount. Он в основном выполняет задачи монтирования для пользовательского сеанса (в то время как автомонтирование монтируется, когда папка точки монтирования статична).

Со страницы проекта:

Этот модуль предназначен для сред с центральными файловыми серверами, которые пользователь желает подключить при входе в систему и размонтировать при выходе из системы, таких как (полу) бездисковые станции, где многие пользователи могут входить в систему и где статическое монтирование всего /home с сервера является безопасным риск, или перечисление всех возможных объемов в /etc /fstab неосуществимо.

Обычно я бы предложил использовать autofs с таблицами монтирования, загруженными из LDAP, или в вашем случае несколько ржавый NIS. Но, поскольку для вас важно не монтировать объекты для определенных пользователей, а не полагаться на разрешения, autofs не для вас (хотя, скорее всего, это возможно).

Кроме того, я хотел бы отметить, что просто не наращивание экспорта вряд ли является мерой безопасности.

1

Ваш вопрос не очень четко определен, потому что понятие входа в систему не очень четко определено. Пользователь может запускать и останавливать процессы в любое время (например, из cron). Несколько пользователей могут войти в систему одновременно - какие монтирования должны действовать в этом случае?

Я подозреваю, что вы действительно хотите, чтобы процессы, запущенные от имени разных пользователей, могли видеть разные монтирования файловой системы, даже если эти процессы выполняются одновременно.

Linux может сделать это с помощью bindfs.

  1. смонтировать все файловые системы где-нибудь (независимо от пользователя), не предоставляя доступ пользователям, о которых идет речь
  2. используйте bindfs чтобы перемонтировать их там, где пользователи будут к ним обращаться (в зависимости от пользователя)
0

Узнайте об использовании автомонтирования из autofs http://www.autofs.org/

Простой способ настроить это в Ubuntu:

apt-get install nfs-common autofs

добавить /home /etc/auto.home в /etc/auto.master
добавить * nfsserver:/share/& в /etc/auto.home

0

Вам не нужен автомонтирование. Просто настройте соответствующие строки в fstab, чтобы пользователи могли монтировать эти монтирования (опция user в fstab). Затем отредактируйте ~/.profile каждого пользователя, добавив туда команду монтирования. Таким образом, каждый раз, когда пользователь входит в систему, будет подключен правильный диск.

Если вы хотите использовать автомонтирование, вы можете настроить его так, чтобы монтирование монтировалось в домашнем каталоге каждого пользователя. Затем, когда пользователь входит в систему и получает доступ к своему $ HOME, autofs будет монтировать диски, или разделы, или что-либо, что вы монтируете.

-1

Это кажется довольно простым, если использовать команду "mount" вручную внутри каждого пользователя .profile. Это позволяет активировать индивидуально настроенное монтирование, когда этот конкретный пользователь входит в систему со своим идентификатором и паролем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .