Права доступа CHMOD для пользователей и групп в Apache

Недавно мне довелось прочесывать интернет в надежде найти подробную информацию о том, как правильно выставить права доступа для посетителей и групп в Apache при помощи chmod. Что мне удалось найти:

Основы

Есть три группы прав доступа к файлам/директориям, о которых вам следует позаботиться:

  • Посетитель – что может делать владелец файла;
  • Группа – что могут делать посетители отдельных групп;
  • Иные – что могут делать остальные посетители.

У посетителей есть логины(уникальные для каждого посетителя). Посетители могут быть частью группы.

Примечание: команда chmod принимает целые числа(0664), и каждая из цифр отвечает за определенные права доступа.

Сегодня я расскажу вам о том, как правильно использовать chmod-настройки. Chmod используются для изменения прав доступа к директории или файлу.

Chmod cинтаксис:

chmod -flags permissions /path/to/dir/or/file

Флаги

-R

chmod –R сможет рекурсивно пройтись по всей указанной директории и настроить права доступа для всех файлов и вложенных директорий.

Изменяем права доступа

Вы можете без труда определять, для кого изменяете права доступа:

  • u = посетитель;
  • g = группа;
  • o = иные.

Вы можете добавлять или удалять права доступа с помощью следующих команд chmod:

  • + добавить права доступа;
  • удалить права доступа.

Можно задавать следующие права доступа:

  • r = чтение;
  • w = запись;
  • x = исполнение.

Данные знания можно использовать для параметра прав доступа в Apache:

  • Apache запущен как посетитель www-data в группе www-data;
  • Корневой каталог сервера: /var/www.

Для начала

Нам необходимо установить владельца/группу для корневого каталога(и любых внутренних директорий и файлов):

$ sudo chown -R www-data:www-data /var/www

Необходимо установить правильные права доступа для посетителей и групп. Запускаем пару общих команд, которые закрывают доступ, а далее открываем доступ, насколько нам требуется.

Сначала сделайте так, чтобы никто кроме текущего посетителя( www-data) не имел доступа к содержимому директории web-root. Мы используем ‘ go ‘, так что команда будет направлена к группам и иным посетителям(‘ group ‘ и ‘ other ‘). Также мы используем ‘ ‘ для отключения прав доступа. Далее используется настройка ‘rwx ‘, чтобы запретить чтение, запись и исполнение.

$ chmod go-rwx /var/www

Далее необходимо разрешить посетителям из той же группы( и ‘other’) открывать директорию /var/www. Это делается без рекурсивного подхода. Мы указываем ‘ group ‘ и ‘ other ‘, но используем настройка ‘ + ‘, чтобы разрешить исполнение( chmod ‘x’).

$ chmod go+x /var/www

Далее изменяем права доступа всех директорий и файлов в корневом каталоге для той же группы(www-data). На случай, если в ней есть файлы:

$ chgrp -R www-data /var/www

Сейчас необходимо произвести некоторые «сбросы». C помощью команд chmod сделайте так, чтобы только один посетитель мог осуществлять доступ к контенту:

$ chmod -R go-rwx /var/www

Сделайте так, чтобы любой посетитель из той же группы мог читать/записывать и выполнять директории и файлы в корневом каталоге на сервере:

$ chmod -R g+rx /var/www

Лично я дал группе право записывать – это необходимо для тех посетителей, которые редактируют контент. Выглядит это следующим образом:

$ chmod -R g+rwx /var/www

Зачастую вам даже не придется проделывать все это, но данная статья вполне способна помочь разобраться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *