Ubuntu, o usuário não pode escrever em um diretório e não vejo por que não

2

Eu tenho um diretório, / var / www / someProject / backup / mysql, e eu quero que o usuário mysql escreva nele. Toda vez que tento escrever para ele com o usuário mysql, recebo um erro "não consigo ler / gravar". No entanto, o diretório é 777, como você pode ver aqui:

drwxrwxrwx 2 aUser users 4096 2010-03-17 17:14 mysql

Eu também tentei chown o diretório para mysql: mysql, assim como o diretório home do usuário mysql, mas sem sorte, isso não mudou nada.

O que estou fazendo de errado aqui? Ou o usuário mysql é limitado ao seu diretório home de alguma outra forma no Ubuntu? Está me incomodando há dias, esse problema, então qualquer ajuda é muito apreciada.

    
por Peter 19.03.2010 / 12:12

2 respostas

2

Com a ajuda do Dominik acima, descobri que o Ubuntu está executando o apparmor. Cito da wikipedia:

AppArmor allows the system administrator to associate with each program a security profile that restricts the capabilities of that program

De fato, entre esses programas estava o mysqld. Portanto, não o usuário foi o problema, mas as restrições impostas ao processo pelo apparmor. Então eu encontrei a solução aqui

sudo touch /etc/apparmod.d/disable/usr.sbin.mysqld
sudo /etc/init.d/apparmor reload

Isso faz do mysqld um processo livre que, para mim, nesse servidor, não é problema. Então, depois de dias de busca, o problema foi corrigido!

    
por 19.03.2010 / 17:25
2

Você precisa ter certeza de que o usuário mysql é capaz de acessar o diretório / var / www / someProject / backup / mysql, isto é, ele deve ter pelo menos o 'x' em todos os diretórios-pai.

Verifique também se o erro não é causado pela sua configuração do SELinux (se você estiver usando o SELinux).

    
por 19.03.2010 / 12:19