Назад | Перейти на главную страницу

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

Я понял, что после создания стека 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.

я так понимаю, что 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

Я не. В этом никогда не должно быть необходимости.