Теперь я купил сервер Ubuntu Cloud. Я установил Webmin сегодня утром, и теперь у меня есть вопрос.
Можно ли создать пользователей, которые могут использовать только один каталог: SVN, FTP, PHP, Python, MySQL, Apache? Так, например, пользователь Kevin может использовать только / var / www / kevin /? И он может просматривать все в / var / www /, но не выполнять / писать, а все остальное запрещено просматривать / выполнять / писать.
В вашей ситуации у вас есть владелец папки и ее каталогов, скажем 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/
- это каталог другого пользователя, который не позволяет вам (кевину) нырять в каталог. .