MySQL / nonexistent home vs “Nenhum diretório, logando com HOME = /”

4

O script preinst nos pacotes Debian / Ubuntu para MySQL configura o diretório home padrão para o servidor MySQL como /nonexistent , presumivelmente como uma medida de segurança - o servidor MySQL possui seu próprio caminho datadir que ele usa como um diretório home.

No entanto, um efeito colateral disso é que, quando o MySQL é iniciado, ele gera esta mensagem:

No directory, logging in with HOME=/

O que me preocupa aqui é que isso não parece ser bom do ponto de vista da segurança. Sugere que isso empurraria o MySQL para tentar criar arquivos em / ; Obviamente, ele deve deixar de fazer isso por causa das permissões, mas seria melhor não tentar. Eu vi respostas que 'resolvem' isso criando o diretório home, mas isso parece sem sentido, já que o objetivo de fazer isso é isso não acontece, embora possa ser 'seguro' porque o MySQL também está configurado para usar /bin/false como seu shell.

Seria mais seguro configurá-lo para algo que exista e que o MySQL possua, como /var/lib/mysql ?

Ou crie a pasta, mas não permita que o MySQL escreva nela?

Existe uma solução mais limpa?

    
por Synchro 12.02.2016 / 10:50

1 resposta

0

Para se livrar dessa mensagem, você poderia simplesmente designar um diretório home para o usuário mysql:

sudo systemctl stop mysql.service
sudo usermod -d /var/lib/mysql/ mysql
sudo systemctl start mysql.service

e a mensagem deve ter desaparecido. Isso funciona para mim, mas não verifiquei se isso tem outras implicações, por exemplo, em relação à segurança.

    
por 01.12.2018 / 12:48