По сути, я хочу, чтобы у нового пользователя было только несколько разрешений - он не может читать домашние каталоги обычных пользователей, может только читать или записывать файлы в один каталог (может только читать или писать /home/user/
... не может читать или писать /home/me/
или читать или писать /home/someoneelse/
. Это обычная настройка для школ и университетов, в которых работают сети Windows. Кажется, в Ubuntu все должно быть просто.
Я ничего не знаю о «разрешениях гостевых пользователей» этой другой операционной системы, но для Ubuntu вы можете создавать пользователей с любыми привилегиями, которые вам нравятся. С другой стороны, существует «гостевой сеанс», к которому можно получить доступ из уже запущенного сеанса. Оба описаны здесь .
Кроме разрешений, которые вы даете новым пользователям, которых вы создаете, я советую вам устанавливать права доступа к вашим домашним каталогам с вашей стороны (в некотором смысле, в позитивном смысле, устанавливая правила для самого каталога; не полагайтесь на ситуацию «менее привилегированных» гостевых пользователей.) Для этого перейдите в / home, щелкните правой кнопкой мыши домашний каталог, который вы хотите установить, перейдите в свойства, перейдите к разрешениям и установите их так, как вам нравится. Это также можно сделать из командной строки.
В Ubuntu большинство файлов могут быть прочитаны кем угодно, а файлы могут быть записаны / изменены только владельцем.
Так что разрешения на запись в порядке по умолчанию. Если вы хотите изменить разрешения на чтение: сделайте следующее:
Скажем, у вас есть файл \ home \ user \ file.txt, который имеет обычные разрешения. Если вы выполните
cd /home/user
ls -l file.txt
, вы увидите что-то вроде
-rw-r--r-- 1 user group 45655 2010-01-16 17:21 file.txt
Это означает:
Группа по умолчанию - это группа, в которой в качестве участника используется только «пользователь». Таким образом, вам нужно только изменить разрешение r для кого-либо еще, сделайте это следующим образом:
cd /home/user
chmod o-r file.txt
Если вы сейчас выполните
ls -l file.txt
, вы должны увидеть
-rw-r----- 1 user group 45655 2010-01-16 17:21 file.txt
Таким образом, последний 'r' удаляется. Вы можете использовать подстановочные знаки в вашей команде, например
chmod o-r f*
изменит все файлы, которые начинаются с 'f'. Если вы хотите использовать его в полном каталоге, включая все подкаталоги, вам нужно добавить параметр -R (рекурсивный):
chmod o-r -R /home/user
удалит права на чтение из полного / home / user каталог для каждого пользователя, который не является владельцем или в группе.
Я не рекомендую менять системные каталоги, но если вы это сделаете, вам нужно добавить «sudo» перед вашей командой. В системных каталогах нет важной информации, поэтому достаточно их перезаписать.
Окончательный ответ:
sudo chmod o-r -R /home/*
Вы можете использовать umask так, чтобы права доступа к файлам устанавливались так, чтобы только владельцы файлов могли автоматически получать доступ к своим файлам.
Вы также можете использовать расширенные атрибуты .
И я думаю, что должна быть возможность защитить гостевой сеанс с помощью таких технологий, как SELinux или AppArmor.