Devo usar um usuário 'admin' separado como meu “root sudo” ou conceder sudo ao meu usuário 'app'?

1

Ainda estou envolvendo meu cérebro em torno da filosofia de gerenciamento de usuários do Ubuntu (e Linux em geral) e estou me perguntando se devo 'substituir' meu usuário root por um usuário chamado 'admin' (que basicamente tem todos os poderes da raiz ao usar o sudo) e cria outro usuário chamado 'app' que será o usuário principal do meu aplicativo.

Este é o contexto:

  • Estarei executando uma pilha LNMP no Ubuntu 12.04 Server LTS.
  • Haverá apenas um aplicativo em execução no servidor.
  • O usuário do 'aplicativo' precisa ter privilégios SUPER para o MySQL.
  • O PHP precisará ser capaz de executar comandos shell ().
  • O usuário do "aplicativo" precisará transferir arquivos por meio do SFTP.

Estou pensando que essa seria a melhor abordagem:

  • anula o usuário 'root'
  • crie um usuário chamado 'admin' que será um sudoer completo do root, este será o novo usuário "root" do NGINX, PHP e MySQL (e todo o software do sistema)
  • concede privilégios SUPER para 'app' no MySQL
  • Conceda privilégios de SFTP para somente o usuário "app".

Como sou novo nisso, e as informações que encontrei na pesquisa tendem a ser de natureza mais geral, estou pensando se isso é uma abordagem sólida, ou se não é ortodoxo de uma forma que seria causar problemas no futuro.

Agradecemos antecipadamente por qualquer ajuda.

    
por AJB 20.10.2013 / 23:20

1 resposta

1

As permissões de sudo completo devem ser reservadas para usuários humanos reais. Um usuário em cujo contexto você planeja executar serviços de rede principalmente não precisa disso. Você também pode pensar em desabilitar a senha e o shell de login para um usuário puramente "virtual", apagando o campo de senha em /etc/shadow e estabelecendo o shell em /etc/passwd to /bin/false .

A criação de usuários separados para serviços, usuários do aplicativo, como você chama, é uma técnica comum.

    
por Paul Hänsch 20.10.2013 / 23:27