Я только что установил новую каплю в DigitalOcean перед выходными и настраивался под свои нужды. Я следил за ранее заданным вопросом , несколько владельцев одной и той же папки .
На этих же форумах в эти выходные я также обнаружил еще одну Q / A, рассказывающую о последствиях для безопасности и о том, как правильно защитить папку www, чтобы минимизировать любые потенциальные риски.
То, что я до сих пор делал, - это создание новой группы веб-мастеров , куда я добавил себя, любых других людей, которым нужен доступ и www-data пользователь.
Применил бит setgid
к папке sudo chmod g+s /var/www/html
, чтобы вновь созданные файлы и папки принадлежали к одной группе, чтобы избежать проблем с доступом.
После того, как все это сделано, как именно я должным образом защищаю папку / var / www / html?
Я где-то читал, что в идеальном мире в папке будет установлено chmod
до 640 или 2750, и что у пользователя www-data
должен быть только доступ на чтение, когда вы вручную предоставляете ему доступ на запись к папкам загрузки и т. д.
Я что-то упускаю здесь?
Я стараюсь изо всех сил учиться.
Согласно тому, что уже сделано, и согласно нашему обсуждению, я думаю, что необходимо сделать эти шаги.
Во-первых, это не требуется www-data
быть членом группы webmasters
. Таким образом, я думаю, что необходимо удалить его из той группы.
Правильный способ установить полномочия в файлы и каталоги отдельно и рекурсивно состоит в том, чтобы использовать find
:
# Dial with the permissions recursively
sudo find /var/www/ -type f -exec chmod 664 {} + # set -rw-rw-r-- for all files
sudo find /var/www/ -type d -exec chmod 775 {} + # set drwxrwxr-x for all directories
sudo find /var/www/ -type d -exec chmod g+s {} + # set drwxrwsr-x for all directories
# Dial with the ownership
sudo chown -R root:webmasters /var/www/ # change user :group for the whole tree of /var/www
# Dial with the directory where `www-data` should have write permissions, e.g. for upload
sudo chown www-data /var/www/data
Таким образом:
Содержание /var/www
будет первоначально принадлежать пользователю root
и группа webmasters
.
Члены группы webmasters
сможет записать и изменить содержание каталогов в /var/www
через group
permissons и setgid
.
www-data
будет читать разрешение в файлы и читать - выполняются к каталогам (обратите внимание, что выполнить полномочия к каталогам имеют другое значение, чем в файлы), с помощью полномочий other
пользователи. Таким образом, Apache2 будет способный отобразить содержание...
www-data
сможет записать содержание в /var/www/data
, потому что это - владелец.