Permissões no Ubuntu

1

Acabei de instalar o Ubuntu e o LAMPP. Eu sou muito novo em tudo isso, então fique comigo. Eu instalei o LAMPP para / opt / lampp

Minha pasta / opt / lampp / htdocs é onde o link aponta. Durante a última hora, não consegui escrever nesse diretório. Eu finalmente fiz sudo chown rondog /opt/lampp/htdocs e agora eu não posso escrever. (rondog sou eu, o único "usuário" real na máquina)

Quando executo um dos meus scripts PHP, recebo um erro de permissão negada quando tento chamar um método fopen . O que eu preciso fazer então eu sou capaz de escrever para esta pasta, assim como o PHP pode executar comandos como fopen e fwrite? Obrigado

    
por Ronnie 06.09.2011 / 22:03

3 respostas

3

Uma possibilidade é definir o usuário e o grupo do Apache como rondog . Dessa forma, pastas e arquivos criados sempre podem ser usados por você e pelo servidor. Isso pode ser feito da seguinte maneira:

Edite (ou crie, se não existir) /etc/apache2/httpd.conf e adicione as seguintes linhas:

User rondog
Group rondog

Salve o arquivo e reinicie o servidor:

$ sudo /etc/init.d/apache2 restart

Seu usuário recém-adicionado deve aparecer sempre que você usar:

$ ps aux | grep apache 

Um conselho: mantenha seus arquivos localhost em seu diretório pessoal. Se você quiser uma atualização limpa de uma nova versão do Ubuntu, é muito mais fácil mudar se você mantiver documentos pessoais em seu diretório pessoal. Além disso, nesse caso, você não precisa usar o comando sudo chown toda vez que criar uma nova pasta.

    
por 06.09.2011 / 22:42
1

Você tem várias opções aqui. Ou você faz o que Tim H sugere:

chmod -R 777

Isso definirá as permissões de leitura e gravação para todos.

Mas geralmente isso é muito amplo. Em vez disso, você pode criar um novo grupo, colocar a si mesmo e o usuário do servidor da Web dentro dele e permitir que apenas dois acessem e gravem os arquivos:

$ sudo -i
# addgroup lamppusers
# adduser rondog lamppusers
# adduser www-data lamppusers # check, that www-data is the correct user
# chown -R :lamppusers /opt/lampp/htdocs
# chmod g+srwx /opt/lampp/htdocs

Se não tiver certeza, se www-data for o usuário correto do LAMPP, envie

cat /etc/passwd

e procure por uma linha, que pode parecer ser o usuário usado pelo LAMPP. Caso contrário, se você tivesse o chmod 777 em vigor antes, veja os arquivos gerados pelo PHP com ls -l para ver a quem eles pertencem.

A g+srwx é outra maneira de escrever 777 direitos de acesso, mas também define o bit adesivo .

Por fim, se você precisar de direitos de acesso mais refinados, acesse as listas de controle de acesso a arquivos (ACLs) no google. Eles permitem definições de direitos de acesso em uma base por usuário.

    
por 06.09.2011 / 22:16
0

Você já tentou

chmod -R 0777 /opt/lampp/htdocs
    
por 06.09.2011 / 22:07