Eu penso em disponibilizar www-data para uso direto e em mesclar outro usuário nele

0

Vamos supor que eu criei o sistema que criei um nome de usuário tiesto . Eu basicamente tinha root e tiesto como os usuários que eu opero diretamente.

Então, quando eu instalei o Apache, ele adicionou um terceiro usuário - www-data .

Quando executo o ps aux | egrep '(apache|httpd)' , obtenho:

root      3192  0.0  1.4 327668 30364 ?        Ss   Nov23   0:04 /usr/sbin/apache2 -k start
www-data 28806  0.0  2.1 335512 43696 ?        S    06:25   0:01 /usr/sbin/apache2 -k start
www-data 28808  0.0  1.8 335196 37412 ?        S    06:25   0:00 /usr/sbin/apache2 -k start
www-data 28809  0.0  2.0 337408 41280 ?        S    06:25   0:00 /usr/sbin/apache2 -k start
www-data 28811  0.0  2.3 333112 49148 ?        S    06:25   0:00 /usr/sbin/apache2 -k start
www-data 32351  0.2  2.3 341040 49028 ?        S    06:50   0:01 /usr/sbin/apache2 -k start
www-data 32480  0.0  0.5 328160 10844 ?        S    06:58   0:00 /usr/sbin/apache2 -k start
www-data 32481  0.0  0.5 328280 11128 ?        S    06:58   0:00 /usr/sbin/apache2 -k start
www-data 32482  0.2  1.8 335116 37428 ?        S    06:58   0:00 /usr/sbin/apache2 -k start
www-data 32483  0.0  1.7 334784 36040 ?        S    06:58   0:00 /usr/sbin/apache2 -k start
www-data 32484  0.0  0.4 327716  8812 ?        S    06:59   0:00 /usr/sbin/apache2 -k start
tiesto   32586  0.0  0.0  14512  1032 pts/0    S+   07:01   0:00 grep -E --color=auto (apache|httpd)

Minha pergunta:

Bem, minha pergunta pode ser composta das duas perguntas a seguir:

  1. Por que quando eu faço su www-data , obtenho:

This account is currently not available.

  1. Como eu poderia mesclar tiesto com www-data ? (ou seja, diretório inodes, cron-tasks, etc)? Eu só quero levar tudo além do nome de usuário tiesto , e colocar www-data , então delete tiesto ... Eu quero www-data para ser meu usuário de trabalho, o que eu faço sudo anything com, e não tiesto . Eu poderia chamar isso de fundindo tiesto --- > em www-data .
por JohnDoea 24.11.2016 / 08:17

1 resposta

2

www-data é uma conta do sistema, destinada a ser usada como a conta na qual o Apache HTTP Server é executado. É não destinado a ser usado para trabalho interativo.

A resposta técnica direta à pergunta por que su www-data não funciona é que a conta www-data está configurada para ter nologin como seu shell de login ( man nologin ). Isso é feito por padrão para desencorajar o uso dessa conta para trabalhos interativos. Você pode, claro, sempre fazer sudo -u www-data bash se você absolutamente precisa; mas não vejo por que isso seria necessário.

Em sistemas derivados do Debian, o Apache é executado por padrão sob o usuário www-data . Para fazê-lo funcionar com outra conta de usuário, você deve editar o arquivo /etc/apache2/envvars . Procure export APACHE_RUN_USER=www-data e export APACHE_RUN_GROUP=www-data e altere-os para atender às suas necessidades.

A execução do servidor da web na sua conta pode ou não ter implicações de segurança, dependendo da configuração específica. Uma maneira melhor pode ser deixar o Apache rodar sob www-data (para restringir suas permissões) e mudar a propriedade dos diretórios servidos pelo Apache para sua conta. Os diretórios nos quais o apache deve ter acesso de gravação podem ser feitos pelo usuário www-data e seu grupo, com o bit set-group-id configurado e acesso de gravação para o grupo.

Agora, se você ainda insistir que deseja que sua conta interativa seja chamada www-data , a maneira mais simples é assumir a propriedade de todos os arquivos pertencentes à conta www-data ou grupo www-data , exclua a conta e o grupo www-data e renomeie sua conta e o grupo principal www-data . Não vou explicar em detalhes como realizar esse procedimento inútil, complicado e propenso a erros.

    
por AlexP 24.11.2016 / 09:11