Qual é o usuário linux recomendado para criar bancos de dados MySQL em LAMP?

1

Estou tentando configurar um sistema LAMP simples, mantendo alguma segurança básica em mente. Se eu quiser criar um MySQL para ser acessado pelo PHP, sob qual usuário deve criar bancos de dados? Quaisquer referências às melhores práticas serão muito apreciadas.

Obrigado!

    
por ezequiel-garzon 07.04.2012 / 12:27

2 respostas

2

Supondo que você execute a pilha inteira, não há razão para não executar cada aplicativo como seu próprio usuário. Você terá que criar as contas como root ou algum outro usuário privilegiado, mas você pode alterar o nome de usuário do root - consulte a etapa 4.5 aqui ou crie um novo usuário com as permissões corretas , mas eu nunca vi ninguém fazer o último.

Como um aparte, você também pode querer restringir o servidor mysql a escutar o localhost no nível do firewall, caso você precise fazer algo, você deve fazer o ssh, mas isso torna o compromisso menos provável.

    
por 07.04.2012 / 12:37
1

Você parece estar se referindo aos usuários mysql ao invés dos usuários do sistema, mas sua referência à pilha LAMP sugere um breve comentário sobre o usuário do sistema mysql ...

Normalmente, para a implementação de produção , você instalaria o mysql, apache, PHP / Perl dos pacotes de distribuição e, portanto, você executaria o comando de instalação do pacote, por exemplo. apt-get install mysql-server apache2 php ou yum install httpd mysql-server php53 como usuário root ou algum usuário com permissões sudo.

A instalação lida com a configuração dos usuários apache e mysql para que esses serviços sejam executados como. Você pode notar que os arquivos em / var / lib / mysql são de propriedade do usuário mysql, e que o processo mysqld é de propriedade do mysql.

dentro do mysql, um usuário requer o privilégio " CREATE " crie novos bancos de dados e, por padrão, isso é atribuído ao usuário root.

Eu normalmente defino uma senha longa (16 caracteres) para raiz e a armazeno em um arquivo off-line, e crio um segundo usuário "dba" que é usado para operações do dia-a-dia. Cada banco de dados tem uma conta de usuário com permissões de gravação somente, e o usuário root e dba estão restritos a "localhost" somente

  1. Aqui está um bom artigo sobre a estratégia de administração de usuários do mysql
  2. Este é um artigo mais geral , mas tem uma seção sobre a estratégia do usuário mysql
por 07.04.2012 / 12:50

Tags