Usando www-data corretamente para adicionar/editar/remover com segurança

Usando www-data corretamente para adicionar/editar/remover com segurança

Depois de construir uma pilha LAMP, entendo que Apachecria um www-datausuário. Mas você não pode fazer login diretamente como www-data(motivos de segurança). Em vez disso, se você quiser fazer algo assim www-data, você deve executar isto:

su -s /bin/bash www-data

Eu posso viver com isso. Mas tenho 2 perguntas:

  1. O que você faz quando deseja enviar arquivos via FTP? Atualmente, tenho que fazer FTP como usuário root e depois chownos arquivos de volta www-dataapós o upload. Eu executo o Magento, e essa configuração insiste que eu dê permissões apenas ownerpara write. Caso contrário, eu apenas daria writeacesso ao group.
  2. O que você faz quando deseja permitir que um usuário não root faça suas www-data? Porque se você executar su -s /bin/bash www-datacomo um usuário normal, eles verão This account is currently not available.

Responder1

pelo que entendi, o Apache cria um usuário www-data

Não. A maioria dos sistemas de gerenciamento de pacotes criará um usuário ao implantar o software.

você não pode fazer login diretamente como [aquele usuário]

Sim - como você diz, isso geralmente é feito por motivos de segurança.

você tem que ... su -s /bin/bash www-data

Se o sistema estiver configurado de forma a permitir isso, às vezes até isso fica desabilitado.

O que você faz quando deseja enviar arquivos via FTP?

Você elabora um modelo de permissões que permite que os usuários relevantes implantem e modifiquem arquivos e o uid do servidor da web leia esses arquivos. Emmuitocasos raros e controlados, você configura locais fora da raiz do documento onde o uid do servidor web pode gravar.

Em cada servidor web que configurei, o uid do servidor web é a conta menos privilegiada, então concedi a ele acesso de leitura através do slot de permissão "outro", por exemplo

  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

As permissões são os meios pelos quais vocêcompartilharacesso, não negar acesso.

permitir que um usuário não root use su como www-data

Eu não. Nunca deveria ser necessário.

informação relacionada