Можно ли создавать пользователей, которые могут использовать только один каталог?

Теперь я купил сервер 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/ каталог другого пользователя, который не позволяет вам (кевину) нырять в каталог.

Другие вопросы по тегам