¿Cómo hacer que un directorio se pueda escribir permanentemente?

27

Estoy usando la pila LAMP para el desarrollo y tengo un problema para hacer que / var / www pueda escribirse permanentemente. Yo uso este comando:

sudo chmod -R a+rwX /var/www

Esto funciona, pero después de colocar una aplicación web y acceder a ella a través de un navegador, muestra un error de "permiso denegado". Cuando eso sucede, tengo que ejecutar el comando nuevamente.

¿Cómo puedo hacer que el directorio sea editable, permanentemente, sin tener que ejecutar el comando nuevamente?

¡Gracias!

potomato
fuente
1
cree una subcarpeta /var/wwwy cambie los permisos para ese directorio. Eso debería solucionar el problema
Anam Ahmed
55
En realidad, nunca debes hacer que la raíz web sea editable. Consulte Por razones de seguridad, ¿por qué / var / www no debería tener chmod 777?
Goran Miskovic
estos son algunos buenos comentarios anteriores ... teniendo en cuenta las razones de seguridad, debe mantener el permiso para /var/wwwpredeterminar rwxr-xr-x y probablemente moverá los archivos necesarios a un subdirectorio /var/wwwy realizar cambios en sus archivos * html en consecuencia para los cambios que ha realizado en la raíz del documento.
precisa

Respuestas:

39

Los permisos numéricos pueden resolver su problema.

sudo chmod 775 'your directory'

si quieres saber por qué solo 775 aquí está tu respuesta

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

Dará todo el permiso excepto el escrito de cualquiera.

Dipruta
fuente
9

Tuve el mismo problema entonces

sudo chmod 777 directory

resuelto.

Eso hace que el directorio sea editable, legible y ejecutable por cualquiera. Así que no importa qué usuario o grupo lo poseyó o usó Lampp.

Sin embargo, eso no se recomienda si su computadora es de acceso público.

M Cornel
fuente
8

Por lo general, el comando que utilizó debe cambiar los permisos de forma permanente.

Probar sudo chmod -R 775 /var/www/(que básicamente es lo mismo). Si eso no funciona, es posible que deba cambiar el propietario [y quizás el grupo] del directorio a través de sudo chown <user>[:<group>] /var/www/.

Además, puede considerar que el "error de permiso denegado" podría deberse a derechos de acceso insuficientes en su base de datos o en otro lugar.

David
fuente
Pero como @schkovich ya mencionó, no debe hacer que la carpeta raíz web se pueda escribir.
David
13
+ Rinzwind Usé 777 y espero pacientemente tu visita.
Marcel
funcionó para mí si lo uso sin barras, psudo chmod -R 775 my_folder
Yarh
@Marcel ahora está muerto chicos, @ Rinzwind lo terminó
Dheeraj
2
@Marcel, ¿cómo sabemos que eres tú? ¿Qué pasaría si @ Rinzwind rasgara la cara de Marcel y la usara?
Dheeraj