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


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

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


19
2018-03-12 16:57


Источник




Ответы:


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

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

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

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

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

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

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

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

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


18
2018-03-13 09:55



Это не имеет смысла для меня, может быть так много причин, по которым вы хотите, чтобы пользователь имел доступ только к 1 папке. Одним из примеров может быть предоставление доступа для передачи файлов с 1 сервера на другой. Я скорее думаю, что это немного глупо что любой пользователь может просматривать полную систему. - Richard


Мне нужно было предоставить доступ к пользователю 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,


5
2018-01-29 20:21



Добро пожаловать в askubuntu! Я не вижу в этом ответа на вопрос, заданный в отношении домашних каталогов. - Elder Geek
@ElderGeek Не может ли OP использовать одни и те же команды, но для домашнего каталога? - Seth♦
@Seth Да, но это будет понятно для обычного пользователя? - Elder Geek
@ Элдер. Да, я верю. Не идеальный, но все же ответ - Seth♦


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

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


1
2017-09-01 13:13



Это, хотя и не является строго ответом на вопрос, по-прежнему очень интересно ... В ситуации, когда вы управляете удаленным сервером, к которому клиенты могут подключиться, это здорово. Они могут перемещаться так, как они ожидали, сохраняя при этом конфиденциальность других имен пользователей. - Jack_Hu