Como tornar um diretório permanentemente gravável?

27

Estou usando a pilha LAMP para desenvolvimento e tenho um problema ao tornar / var / www permanentemente gravável. Eu uso este comando:

sudo chmod -R a+rwX /var/www

Isso funciona, mas depois de colocar um aplicativo Web e acessá-lo através de um navegador, ele mostra um erro de "permissão negada". Quando isso acontece, eu tenho que executar o comando novamente.

Como posso tornar o diretório gravável, permanentemente, sem precisar executar o comando novamente?

Obrigado!

potomato
fonte
1
crie uma subpasta /var/wwwe mude a permissão para esse diretório. Isso deve resolver a questão
Anam Ahmed
5
Na verdade, você nunca deve tornar o root da Web gravável. Consulte Por razões de segurança, por que o / var / www não deve ter o chmod 777?
Goran Miskovic 8/03/2013
estes são alguns bons comentários acima ... considerando as razões de segurança, você deve manter a permissão para /var/wwwusar como padrão o rwxr-xr-x e provavelmente moveria os arquivos necessários para um subdiretório /var/wwwe faria alterações nos arquivos * html de acordo pelas alterações que você fez na raiz do documento.
precisa

Respostas:

39

Permissões numéricas podem resolver seu problema.

sudo chmod 775 'your directory'

se você quer saber por que apenas 775 aqui está sua resposta

400 read by owner
040 read by group
004 read by anybody
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody

 400
+040
+004
+200
+020
+100
+010
+001
=775

Ele dará todas as permissões, exceto a gravação por qualquer pessoa.

Diprute
fonte
9

Eu tive o mesmo problema então

sudo chmod 777 directory

Resolvi-o.

Isso torna o diretório gravável, legível e executável por qualquer pessoa. Portanto, não importa qual usuário ou grupo possuiu ou usou o Lampp.

No entanto, isso não é recomendado se o seu computador for de acesso público.

M Cornel
fonte
8

Normalmente, o comando que você usou deve alterar as permissões permanentemente.

Tente sudo chmod -R 775 /var/www/(que basicamente é o mesmo). Se isso não funcionar, você pode precisar alterar o proprietário [e talvez o grupo] do diretório via sudo chown <user>[:<group>] /var/www/.

Além disso, você pode considerar que o 'erro de permissão negada' pode ser causado por direitos de acesso insuficientes no banco de dados ou em outro local.

David
fonte
Mas como o @schkovich já mencionou, você não deve tornar a pasta raiz da web gravável.
David
13
+ Rinzwind Usei o 777 e aguardo pacientemente sua visita.
Marcel
ele trabalhou para mim se eu usá-lo sem barras por exemplo sudo chmod -R 775 my_folder
Yarh
@Marcel agora está morto, @ Rinzwind terminou com ele #
Dheeraj 18 /
2
@Marcel, como sabemos o verdadeiro você, e se Rinzwind rasgasse o rosto de marcel e o usasse.
Dheeraj