Intereting Posts
Сценарий оболочки должен запускаться дважды, чтобы работать как ожидалось Устройство считывания отпечатков пальцев в Ubuntu 17.04 на Dell XPS 15 2017 Как написать скрипт для установки BleachBit только в том случае, если установленная версия не является определенной версией? Как я могу изменить беспроводной сетевой адаптер Atheros (нормативный домен) в Ubuntu? Несколько вопросов об обновлении с 11.04 по 13.04 Какой лучший способ иметь контроль над шармом Джуджу? Подтверждение LVM без установки Ubuntu Ошибка при использовании «cp» для копирования файлов на внешний диск ksmserver-logout-greeter crash после переключения с Intel на NVidia GPU Почему мой хром выглядит так? Это влияет на вредоносное ПО? Установка Ubuntu на Lenovo Ideapad 710S-13IKB Как навсегда отключить энергосбережение монитора с помощью командной строки? Какие таймеры отключения с / без GUI доступны? Доступ к / dev / ttyUSB0 и sudo Единство: есть окно, которое всегда находится на определенных рабочих пространствах?

Как я могу запретить пользователям доступ к чему-либо, кроме собственного домашнего каталога?

Как я могу запретить пользователям доступ к чему-либо, кроме собственного домашнего каталога?

Например, у меня есть раздел NTFS, установленный под /media/ntfs , поэтому, если пользователь входит в систему через ssh, он может достичь этого раздела. Как отключить пользователей для извлечения из вашего домашнего каталога?

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

Очень сложно запретить пользователям покидать свой домашний каталог. Это на самом деле немного глупо, тоже (объяснение следует). Гораздо проще запретить пользователям вводить каталоги, которые вы не хотите вводить.

Прежде всего, да, вы можете дать пользователям так называемую ограниченную оболочку , см. man rbash . Это предотвратит их cd in в другом месте, но только внутри этой оболочки. Если пользователь запускает vi или nano (или любую другую программу, способную открыть файл), они могут снова открывать файлы в любом месте системы. На самом деле ограниченная оболочка не предотвращает, например, cat /etc/passwd .

Следующий шаг – корневая тюрьма. Дополнительная информация о вики сообщества и в этом вопросе . Хотя корневая тюрьма блокирует пользователей внутри огороженного сада, в пределах которых они имеют доступ только к файлам и командам, которые вы намеренно помещаете туда, корневые тюрьмы действительно предназначены для изоляции ненадежного программного обеспечения, а не от пользователей. В частности, они предназначены для программного обеспечения, которое должно выполняться с повышенными привилегиями – отсюда и корневая тюрьма.

С другой стороны, пользователям доверяют : им приходилось проходить аутентификацию и работать без повышенных привилегий. Поэтому разрешений для файлов достаточно, чтобы они не изменяли файлы, которыми они не владеют, и видя вещи, которые они не видят. Чтобы пользователи не читали содержимое файла, удалите его читаемость с помощью chmod or FILE . Чтобы пользователи не попали в каталог, сделайте его недоступным для мира с помощью chmod o-rwx DIR .

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

Почему блокировка пользователей в их домашнем каталоге немного глупо

Чтобы сделать что-нибудь полезное, пользователям нужен доступ к командам и приложениям. Они находятся в таких каталогах, как /bin и /usr/bin , поэтому, если вы не скопируете все команды, которые им понадобятся оттуда, в свои домашние каталоги, пользователям потребуется доступ к /bin и /usr/bin . Но это только начало. Приложениям нужны библиотеки из /usr/lib и /lib , которые, в свою очередь, нуждаются в доступе к системным ресурсам, которые находятся в /dev , и в файлах конфигурации в /etc и /usr/share .

Это была только часть, доступная только для чтения. Приложения также захотят /tmp и часто /var писать. Итак, если вы хотите ограничить пользователя в своем домашнем каталоге, вам придется много копировать его. Фактически, почти вся базовая файловая система, которую у вас уже есть, находится в / .

Мне нужно было предоставить доступ к пользователю sam в /var/xyz и заблокировать содержимое списка других папок внутри /var/

Я использовал следующую последовательность команд:

 setfacl -R -m user:sam:--- /var/ setfacl -m user:sam:rx /var/ setfacl -R -m user:sam:rwx /var/xyz/ 

Таким образом, пользователь может видеть каталоги, перечисленные в разделе /var/ но не может видеть содержимое под вспомогательными каталогами, кроме /var/xyz .

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

Чтобы предотвратить это, выполните root chmod 701 /home . Это делает сам каталог /home «read / write / execute» root, но только «выполняется» для всех остальных. /home все еще доступно для cd , но пользователи не могут прочитать его содержимое – домашние папки других пользователей и, следовательно, имена пользователей.