Показать статистику
0 голосов
от (2.4тыс. баллов)

Хочу узнать у тех, кто использует Apache 2 в продакшине. Ребята, какие вы обычно ставите пермишены и кто у вас владелец этого каталога? У меня есть пачка вирт хостов (Name Based). Пользователь от которого работает апач - www-data.

Кроме этого, есть так же два обычных пользователя и root. Возникает вопрос. Вместо того что бы:

chown -R www-data:www-data

.... как правильно задать владельца? Какие должны быть права на чтение-запись и т.п. в этом каталоге?

2.3тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (17.4тыс. баллов)

Обычно я поступаю так: создаю новую группу (www-pub) и добавдяю пользователей в эту группу:

groupadd www-pub

Что бы добавить пользователя "userb" в эту группу, выполним:

usermod -a -G www-pub userb

Что бы просмотреть пользователей этой группы, можно задействовать groups:

groups www-pub

Далее я обычно меняю владельца /var/www на рута:

chown -R root:www-pub /var/www

И выставляю права на чтение-запись:

chmod 2775 /var/www

# 2=set group id, 
# 7=rwx для владельца (root)
# 7=rwx для группы (www-pub)
# 5=rx для всех остальных (включая пользователей apache www-data user)

Посольку мы задали Set group ID (двойка в 2755), то это заставит все новосозданные каталоги и файлы по указанному пути (/var/www) иметь группу www-pub.

Далее я обычно меняю пермишены на всех файлах на 0664:

find /var/www -type f -exec chmod 0664 {} +

И в конце так же модифицирую umask для всех пользователей на 0002. Umask контролирует права для создаваемых файлов и каталогов. 0002 означает что файоы будут иметь права 664, а каталоги - 775. Что бы задать umask, нужно отредактировать /etc/profile. Такой модицифированный umask позволит всем новым файлам и каталогам в /var/www создаваться с нужными правами (наиболее правильными на мой взгляд).

Ну и в самом конце рекомендую проверить что все как нужно через ls - l.

...