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

Теперь я купил сервер Ubuntu Cloud. Я установил Webmin сегодня утром, и теперь у меня есть вопрос.

Можно ли создать пользователей, которые могут использовать только один каталог: SVN, FTP, PHP, Python, MySQL, Apache? Так, например, пользователь Kevin может использовать только / var / www / kevin /? И он может просматривать все в / var / www /, но не выполнять / писать, а все остальное запрещено просматривать / выполнять / писать.

3
задан 7 April 2011 в 17:25

1 ответ

В вашей ситуации у вас есть владелец папки и ее каталогов, скажем apache. Kevin - это пользователь, которому разрешено читать содержимое, но не записывать и не выполнять его. Всем остальным запрещены права на чтение, запись и выполнение.

Это прекрасно вписывается в систему разрешений файловой системы Linux.

permission  bits
  Read       4
  Write      2
 eXecute     1

Каждому файлу или каталогу могут быть предоставлены разрешения на основе владельца, группы или всех остальных.

  • Владелец (apache) может делать что угодно, поэтому давайте дадим ему разрешения на чтение и запись (4 + 2 = 6)
  • Чтобы подготовиться к будущему, если вам нужно чтобы дать кому-то другому Кевину права на чтение файла, создайте новую группу, скажем apache-users. Затем добавьте Кевина в эту группу и установите биты разрешений группы на 4 ( R ead)
  • Далее, запретите всем, кто не владеет файлом или не является членом 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/ - это каталог другого пользователя, который не позволяет вам (кевину) нырять в каталог. .

0
ответ дан 7 April 2011 в 17:25

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

Похожие вопросы: