Правильное использование www-data для безопасного добавления/редактирования/удаления

Правильное использование www-data для безопасного добавления/редактирования/удаления

После сборки стека LAMP, как я понимаю, Apacheсоздается www-dataпользователь. Но вы не можете напрямую войти как www-data(из соображений безопасности). Вместо этого, если вы хотите сделать что-то как, www-dataто вам нужно запустить это:

su -s /bin/bash www-data

Я могу с этим жить. Но у меня есть 2 вопроса:

  1. Что вы делаете, когда хотите загрузить файлы через FTP? В настоящее время мне приходится заходить на FTP как пользователь root, а затем chownвозвращать файлы www-dataпосле загрузки. Я использую Magento, и эта настройка требует, чтобы я давал разрешения только ownerдля write. В противном случае я бы просто дал writeдоступ к group.
  2. Что вы делаете, когда хотите разрешить не-root пользователю как su? www-dataПотому что если вы работаете su -s /bin/bash www-dataкак обычный пользователь, то они видят This account is currently not available.

решение1

Насколько я понимаю, Apache создает пользователя www-data

Нет. Большинство систем управления пакетами создают пользователя при развертывании программного обеспечения.

вы не можете напрямую войти в систему как [этот пользователь]

Да, как вы и сказали, это обычно делается из соображений безопасности.

вам нужно ... su -s /bin/bash www-data

Если система настроена таким образом, чтобы это было возможно — иногда даже это отключается.

Что вы делаете, когда хотите загрузить файлы через FTP?

Вы разрабатываете модель разрешений, которая позволяет соответствующим пользователям развертывать и изменять файлы, а uid веб-сервера — читать эти файлы.оченьв редких и контролируемых случаях вы настраиваете расположения за пределами корневого каталога документов, в которые uid веб-сервера может записывать данные.

На каждом настроенном мной веб-сервере uid веб-сервера является наименее привилегированной учетной записью, поэтому я предоставил ей доступ на чтение через слот разрешений «другие», например:

  colin@animal /var/www/html $ ls -l
  total 28
  -rw-rw-r-- 1 colin webdev  11321 Dec 27  2016 index.html
  drwxrwsr-x 2 colin webdev   4096 Jan 10  2017 session
  -rw-rw-r-- 1 colin webdev    148 Feb 18  2018 login.php
  drwxrwsr-- 1 colin grafx    4096 Jan  9  2017 images
  -rw-rw-r-- 1 colin grafx    8334 Jul  4 21:59 logo.png

Разрешения — это средства, с помощью которых выделитьсядоступ, а не запрет доступа.

разрешить пользователю без прав root использовать su как www-data

Я не знаю. Это никогда не должно быть необходимостью.

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