Я должен добавить специальное разрешение для нового пользователя оболочки. После использования adduser
новая команда, пользователь может прочитать все каталоги в учетную запись с доступом через оболочку.
Команда adduser user1
приводит нам нового пользователя, который имеет собственный каталог оболочки /home/user1
. Теперь, я должен сделать полномочия для user1
с полным доступом только для его соответствия /home/user1
папка. Каждый раз, когда user1
входит /home
папка, пользователь ничего не должен видеть от этой папки. То же поведение должно состоять в том когда user1
входит в основной каталог оболочки, где у нас есть папки etc
, home
, usr
, var
и т.д.
Теперь, когда я вхожу в систему как user1
Я могу прочитать все каталоги оболочки, например, через Полуночного Командующего.
Кто-либо может помочь установить это специальное предложение полномочия?Заранее спасибо.
Можно сделать этот использующие различные полномочия. По-видимому, если Вы удаляете полномочия чтения к /home
для других и для группы. Таким образом, только у суперпользователя будет доступ в чтение.
Я протестировал это путем создания нового пользователя, для которого я присвоил папку кроме папки по умолчанию. Поскольку я тестировал, я сделал в папке кроме моей системы /home
папка в случае, если я испортил. Вот пошаговое из того, что я сделал и это, кажется, работало:
/private_home
/private_home
Я создал другую названную папку user1
.user1
./private_home/user1
как домашняя папка для пользователя, использующего: sudo usermod -d /private_home/user1 user1
. Это перемещает домашнюю папку user1
от /home/user1
кому: /private_home/user1
./private_home
следующим образом: sudo chmod 711 /private_home
.Теперь, когда вход в систему в как user1
использование su user1
Я вошел в папку того пользователя /private_home/user1
но когда я пробую cd ..
Я могу добраться до той папки (приглашения оболочки показывает, что), но у меня нет полномочий считать содержание папки. Таким образом, при попытке ls
это говорит 'Отклоненное разрешение'.
По-видимому, можно сделать то же самое для всех пользователей для этого /private_home
папка.
Сказав так, я не сделал бы этого с /
поскольку Вы рискнете для создания системы нестабильной.
Примечание: Я использовал некоторые понятия в ответе в этом сообщении.
Для использования системы, пользователь должен смочь получать доступ/читать ко многим частям системы. Но он не сможет записать за пределами своего собственного корневого каталога (т.е. /home/user1
).
Это, конечно, не должно относиться к корневым каталогам других пользователей. (Предположительно, для удобства) Ubuntu идет с настройкой по умолчанию, где у всех есть доступ для чтения ко всем корневым каталогам других пользователей.
ls -l /home
покажет что-то как
drwxr-xr-x 54 user user 4096 Jan 25 17:17 user
drwxr-xr-x 52 user1 user1 4096 Dez 21 17:47 user1
drwxr-xr-x 198 another another 12288 Jan 25 17:19 another
Посмотрите на полномочия в начале каждой строки:
drwxr-xr-x
^^^
Отмеченные средства части: "Все другие могут прочитать каталог и cd
в него"
Можно предотвратить это путем издания
sudo chmod 0700 /home/*
свериться ls -l /home
и Вы будете видеть что-то как
drwx------ 54 user user 4096 Jan 25 17:17 user
drwx------ 52 user1 user1 4096 Dez 21 17:47 user1
drwx------ 198 another another 12288 Jan 25 17:19 another
Теперь никакой пользователь не сможет видеть содержание корневого каталога другого пользователя (конечно, ни один с Полуночным Командующим).
Если Вы хотите предотвратить эту проблему для недавно добавленных пользователей существует несколько путей, в зависимости от того, как Вы создаете нового пользователя.
Это берет полномочия на корневом каталоге из существующих полномочий на etc/skel
. Так
sudo chmod -v 0700 /etc/skel
даст желаемый результат.
adduser
Править /etc/adduser.conf
. Найдите строку
DIR_MODE=0755
и измените его на
DIR_MODE=0750