@AlexWasHere

Как установить правильные права на папки (/var/www, доменные)?

Есть vps с такой структурой
/var/www/domains/domain1.com
/var/www/domains/domain2.com
...

Решил разобраться с права доступа, т. к. начали происходить какие-то непонятки. Понадобилось создать пользователя ftp, который имеет доступ ко всем этим доменам

1) Какие права должны быть у /var/www/
2) Какие права должны быть у /var/www/domains
3) Какие права должны быть у /var/www/domains/domain1.com (я на домены поставил 770)
4) Какие права должны быть у файлов и папок самого сайта (чтобы могли изменять пользователи ftp, cms или framework)

Владельцем и группой всех доменов является root
Пользователя ftp я добавил в группу root (наверное так нельзя?) Вот с пользователями ftp совсем непонятно.

Использую ubuntu, apache, pure-ftpd
  • Вопрос задан
  • 18789 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Chromium58
Сразу скажу практики администрирования веба никогда не было, но я вижу это так:

Есть такой модуль apache2-mpm-itk, он позволяет запускать VirtualHost от имени отдельного пользователя. С учетом этого модуля структура папок на мой взгляд должна выглядеть так:
1.) /var/www - права 755, пользователь www-data, группа www-data
2.) /var/www/domains - права 755, пользователь www-data, группа www-data(пользователь по умолчанию в apache)
3.) /var/www/domains/domain1.com - права 700, пользователь user-domain1, группа www-data
4.) права у файлов и папок 700

В virtualhost добавляем строчку с указанием пользователя-владельца сайта
AssignUserId user-domain1 www-data

С ftp думаю все ясно, права 700 дают доступ только для владельца директории.
Ответ написан
@odmin4eg
У меня реализовано через apache2-mpm-itk + chroot sftp

ну и с правами там всё...
сайты изолированы друг от друга, если один провирусуется то остальным не повредит если у одного сфтп пароль сопрут трояны, то другим это не помешает.

по правам примрено так
useradd -G vhost -s /bin/false -p $MD5PASS -d /home/${domain} ${vhost}
chown root:${vhost} /home/${domain}
mkdir /home/${domain}/www
mkdir /home/${domain}/logs
mkdir /home/tmp/${domain}
chown ${vhost}:vhost /home/${domain}/www
chown ${vhost}:vhost /home/tmp/${domain}
chmod 755 /home/${domain}
chmod 755 /home/${domain}/www

/home/${domain} нужен именно для chroot sftp

/www для всего исполняемого
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы