Предоставить доступ только для чтения к определенным папкам?

12

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

Anarkie
источник
@ Крик Нет, это релевантный фон, но он не объясняет, как это настроить.
Жиль "ТАК - перестань быть злым"
@ Gilles вы правы, это выглядит более актуально в среде Chroot для SSH с использованием Debian
Creek

Ответы:

10

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

  • читать : разрешено просматривать файлы и подкаталоги в этом каталоге
  • write : разрешено создавать файлы и подкаталоги в этом каталоге
  • выполнить : разрешено войти в каталог.

Для файлов ситуация схожая, это вполне очевидно, поэтому вы можете справиться с этим самостоятельно.

Числовые эти разрешения:

  • читать - 4
  • написать - 2
  • выполнить - 1

Для редактирования разрешений используйте chmod. Применение:chmod xyz <file or directory>

  • х - сумма разрешений владельца
  • y - сумма разрешений группы владельцев
  • z - сумма разрешений остальных пользователей / групп

Пример:

$ chmod -R 664 /home/jack/

Джек и группа джека будут иметь доступ на чтение / запись к / home / jack и всем его подкаталогам. Остальные будут иметь доступ только для чтения. -RОпция здесь используется для рекурсивной установки разрешений.

Другой пример:

$ chmod 700 /home/jack/video/

даст джеку полный доступ к /home/jack/videoкаталогу. Смотрите также: chown, chgrpдля изменения владельца и группы владельца.

Милош
источник
1
Хотя это незначительный фон, вопрос не в деталях прав доступа к каталогу, а в настройке ограниченной среды.
Жиль "ТАК - перестань быть злым"
1
Здесь нет необходимости chroot, я полагаю, проблему легко решить, установив необходимые разрешения.
Милос
3

я также не читаю, чтобы настроить chroot. чтобы предотвратить переход родительских каталогов, назначьте строгое разрешение.

$ mkdir --parent 1/2/3
$ ls 1
2
$ chmod 100 1
$ ls 1
ls: cannot open directory 1: Permission denied
$ ls 1/2
3

если мы хотим предоставить пользователю доступ к / home / 1, но ограничить пользователя, чтобы он не видел, какие другие материалы в / home, которые мы делаем / home и которыми владеет root, имеют разрешение 111. таким образом, пользователь никогда не узнает, существует ли когда-либо / home / 2.

把 友情 留 在 无 盐
источник