
Curiosamente, no meu derivado do Ubuntu com nginx instalado apt
, o www-data
usuário tem um shell:
$ cat /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh
Isso não deveria ser definido como algo como /bin/false
? Mesmo que o usuário não consiga efetuar login, não é perigoso fornecer um shell para um usuário do sistema como este por padrão?
Responder1
Bem /bin/false
(ou /bin/true
se você for uma pessoa positiva) é uma verdadeira concha - simplesmente não é umainterativoshell :-) Também existe /sbin/nologin
em alguns sistemas que serve ao mesmo propósito.
Quanto a saber se o seu usuário Apache precisa de um shell interativo (algo como bash
), a resposta, como outros disseram, é "Normalmente, não".
Definir o shell do usuário Apache para algo não interativo geralmente é uma boa prática de segurança (na verdade, todos os usuários de serviço que não precisam fazer login interativamente devem ter seu shell configurado para algo não interativo).
Passeie por um ambiente existente como o seu, experimente e veja se algo quebra.
Se nada quebrar, use o shell não interativo de agora em diante.
Se alguma coisa quebrar, tente consertarsemrestaurando o shell interativo :-)