OpenSSH - ограничить пользователей одной или несколькими папками

Я хочу знать, как я могу ограничить доступ пользователей с помощью OpenSSH Server. Допустим, я хочу, чтобы

  • пользователь 1 имел доступ только к / Media, / Documents и своей домашней папке,
  • Пользователь 2 должен иметь доступ только к / Folder21 и своей домашней папке
  • .
  • Пользователь 3 должен иметь доступ только к / Documents, / Folder21 и своей домашней папке,

Как я могу сделать такую ​​вещь?

Я нашел, как это сделать с одной папкой, но, думаю, это было для всех пользователей? описание здесь: https://bensmann.no/restrict-sftp-users-to-home-folder/

(скопировано по ссылке, которую я дал выше:
Может Я просто делаю это:

$ usermod User1 -s /bin/false
$ usermod User2 -s /bin/false

И устанавливаю домашний каталог пользователя:

$ usermod User1 -d /folder
$ usermod User2 -d /folder

, затем создаю все остальные папки в подпапках / folder и ограничиваю доступ к этим папкам соответственно моему желает использовать команду chmod, или есть лучшее решение?

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

Это то, что я имел в виду:

  • пользователь 1
  • пользователь 2
  • пользователь 3
  • пользователь 4

  • папка «Сетевая документация»

  • папка «документация приложения»
  • папка » Загрузки »
  • папка« Медиа »

  • Пользователю 1 необходим полный доступ ко всему, но доступ только для чтения к приложению в документации Элемент списка

  • Пользователю 2 необходим полный доступ к обеим папкам документации
  • Пользователю 3 нужен только доступ к папке «Медиа»
  • Пользователю 4 нужен только доступ в папку «Загрузки» и «Документация по приложению»
2
задан 3 October 2014 в 23:04

2 ответа

Вы не могли только поместить любые папки, Вы хотите каждого пользователя к доступу в их корневом каталоге? В противном случае я полагаю, что ssh использует те же полномочия файла в качестве файловой системы на компьютере. Таким образом, можно просто использовать те же модификаторы полномочий файла, Вы использовали бы для предоставления пользовательского доступа к папке вне их корневого каталога, как это: https://superuser.com/questions/280994/give-write-permissions-to-multiple-users-on-a-folder-in-ubuntu

0
ответ дан 3 October 2014 в 23:04

Вы могли сделать простую систему управления полномочий.

Прежде всего Вам нужно дерево каталогов, поэтому давайте сделаем это:

~ (Home Folder
|
|---> Their Files
|
|---> Symlink to /opt/public/

В /opt/public/, у Вас есть все Ваши папки. В этом случае,

  • Media
  • Documents
  • Folder51

Поскольку у Вас только есть три пользователя (и три папки), Вы могли создать группы.

Простой способ сделать это должно создать группу для каждой папки. Например:

  • groupadd opt-public-media-access
  • groupadd opt-public-documents-access
  • groupadd opt-public-folder51-access

Теперь, добавьте пользователей к определенным группам (в этом случае, user1 идет в media группа.)

usermod -a -G opt-public-media-access user1

Наконец, выполните эти команды на каждой папке для обеспечения чтения-записи перманент определенной группе только:

chown -R root:opt-public-media-access /opt/public/Media
chmod 770 -R /opt/public/Media/

Добавьте и удалите группы/папки по желанию. Несколько вещей отметить, хотя:

  • Команда для удаления групп groupdel. Необходимо удалить группу при удалении папки.
  • Другие пользователи в системе не в надлежащей группе не смогут войти в те папки, независимо.
  • Дайте каждому пользователю их собственную домашнюю папку. Не помещайте его во что-то как /opt/public.
  • Корень может пойти везде, где он хочет. Удостоверьтесь, что ни один из пользователей не имеет sudo права.
  • Все команды в этом сообщении предназначены, чтобы быть выполненными как корень, если иначе не указано.
0
ответ дан 3 October 2014 в 23:04

Другие вопросы по тегам:

Похожие вопросы: