Как выбрать правильные права доступа для папок /var/www/*?

Как выбрать правильные права доступа для папок /var/www/*?

Я пытаюсь настроить свой веб-сервер с нуля, и поскольку я впервые делаю все самостоятельно, я не уверен, какие разрешения мне нужно установить для каждого сайта в /var/www.

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

/var/www/ |-- blog.dev/
      |--  public_html/
              |-- .htaccess
              |-- wp-admin
              |-- wp-content
              ... 
|-- web.dev/
      |--  public_html/
              |-- .htaccess
              |-- index.php

На данный момент мой текущий рабочий процесс в основном состоит из менясш-заходя на сервер и время от времени загружая файлы черезsftp. Итак, мне нужна моя учетная запись пользователя, чтобы иметь возможность изменять все, а также Apache, чтобы иметь возможность изменять что-либо, когда я, например, загружаю изображение через блог Wordpress.

Итак, я назначил chmod 775оба public_html и поместил их в chown www-data:www-data, но не уверен, безопасно ли это. /var/wwwпо-прежнему принадлежит root, моя учетная запись пользователя также помещена в www-dataгруппу. Мой вопрос в том, что я могу сделать, чтобы улучшить общую настройку. Это кажется крайне неуклюжим и неловким; это просто не кажется правильным так, как я это сделал. Каковы еще некоторые надежные способы правильной настройки разрешений, чтобы я мог защитить себя от потенциальной компрометации.

решение1

Я думаю, было бы хорошей идеей заблокировать разрешения для ваших веб-приложений. Если нет необходимости, доступ на запись должен быть ограничен. Измените файлы и каталоги на «только для чтения» и измените их владельца на кого-то другого, например, root. Если они «только для чтения» и принадлежат www-data, их разрешения все равно можно изменить.

Связанный контент