Можно ли создавать пользователей, которые могут использовать только один каталог?
Теперь я купил сервер Ubuntu Cloud. Я установил Webmin сегодня утром, и теперь у меня есть вопрос.
Можно ли создать пользователей, которые могут использовать только один каталог: SVN, FTP, PHP, Python, MySQL, Apache? Так, например, пользователь Kevin может использовать только /var/www/kevin/? И он может просматривать все в / var / www /, но не выполнять / писать, а все остальное запрещено просматривать / выполнять / писать.
1 ответ
В вашей ситуации вы владелец папки и ее каталогов, скажем, apache
, Kevin
это пользователь, которому разрешено читать содержимое, но не записывать и не выполнять его. Всем остальным запрещены права на чтение, запись и выполнение.
Это идеально вписывается в систему разрешений файловой системы Linux.
permission bits
Read 4
Write 2
eXecute 1
Каждому файлу или каталогу могут быть предоставлены разрешения на основе владельца, группы или всех остальных.
- Владелец (
apache
) может делать что угодно, поэтому давайте дадим ему права на чтение и запись (4 + 2 =6
) - Чтобы подготовиться к будущему, в случае, если вам нужно дать кому-то другому Кевину права на чтение файла, создайте новую группу, скажем,
apache-users
, Затем добавьте Кевина в эту группу и установите биты прав доступа группы4
(Читай) - Затем откажитесь от всех, кто не владеет файлом или не является участником
apache-users
сгруппировать все разрешения,0
,
Добавить группу apache-users
и добавьте Кевина в качестве участника, перейдите в Система -> Пользователи и группы. Откройте вкладку Локальные группы и нажмите Создать новую группу. Введите название группы (apache-users
) на имя группы. Выберите Кевина в " Члены" и нажмите ->. Подтвердите эти изменения, нажав Создать.
Для файла вы должны выполнить следующие команды, чтобы изменить владельца, группу и разрешения:
sudo chown apache filename
sudo chgrp apache-users filename
sudo chmod 640 filename
Справочники
Разрешения для каталогов почти одинаковы, за исключением бита выполнения (1
). Бит выполнения определяет, разрешено ли пользователю переходить в каталог, т. Е. Получать доступ к другим файлам и каталогам внутри каталога. Бит чтения определяет, можете ли вы перечислить содержимое каталога (ls
).
Так что если папка /dir
принадлежит root:root (группа root), а права доступа /dir/file
установлен на 777, вы не можете получить доступ (чтение, запись или выполнение) /dir/file
если разрешения /dir
установлен на 666 или 770 (обратите внимание на отсутствующее разрешение eXecute).
Разрешения для папки станут 750: чтение, запись и выполнение (7
) для владельца (apache
), прочитайте и выполните (5
) для группы (apache-users
) и нет разрешений (0
) для всех остальных.
Для вашей настройки разрешения становятся (*
= зависит):
location owner group permissions
/ root root 755
/var/ root root 755
/var/www/ root root 755
/var/www/kevin/ kevin * 700 or 750
/var/www/apache/ apache apache-users 750
/var/www/other/ * * 700 or 750
/var/www/anyoneread/ * * 755
/var/www/other/
каталог другого пользователя, который не позволяет вам (кевину) нырять в каталог.