2009-08-06 23:30:27 +0000 2009-08-06 23:30:27 +0000
199
199

¿Cómo puedo dar acceso de escritura de una carpeta a todos los usuarios de Linux?

Acabo de instalar apache2 en Ubuntu, y he notado que la carpeta /var/www está protegida. Puedo simplemente sudo todo pero preferiría darle acceso de escritura.

¿Cómo puedo hacer esto?

Intenté sudo chmod 7777 /var/www pero no funcionó.

Respuestas (8)

328
328
328
2009-08-07 00:15:22 +0000

Para compartir mejor con múltiples usuarios que deberían poder escribir en /var/www, debería asignarse un grupo común. Por ejemplo, el grupo por defecto para el contenido web en Ubuntu y Debian es www-data. Asegúrese de que todos los usuarios que necesitan acceso de escritura a /var/www estén en este grupo.

sudo usermod -a -G www-data <some_user>

Luego establezca los permisos correctos en /var/www.

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

Adicionalmente, debería hacer que el directorio y todos los directorios debajo de él “establezcan GID”, de modo que todos los archivos nuevos y los directorios creados bajo /var/www sean propiedad del grupo www-data.

sudo find /var/www -type d -exec chmod 2775 {} \;

Encuentra todos los archivos en /var/www y añade el permiso de lectura y escritura para el propietario y el grupo:

sudo find /var/www -type f -exec chmod ug+rw {} \;

Es posible que tengas que cerrar la sesión y volver a entrar para poder hacer cambios si estás editando el permiso para tu propia cuenta.

34
34
34
2011-09-22 10:31:49 +0000

Hay una forma más simple de hacerlo, intenta hacer este comando.

sudo chmod -R 757 /var/www

Esencialmente, el comando chmod altera los permisos y el interruptor -R afecta a todos los usuarios. Entonces simplemente está dando los permisos correctos para usar.

30
30
30
2013-08-09 19:22:50 +0000

Lectura+Escritura:

sudo chmod -R a+rw /var/www

Lectura+Escritura+Ejecución:

sudo chmod -R a+rwx /var/www
8
8
8
2009-08-08 12:29:16 +0000

También puedes replicar lo que Jtimberman sugirió usando listas de control de acceso. El comando setfacl acepta -s para reemplazar una ACL existente o -m para modificarla; -R para hacer recursivas las ACLs de los directorios; y -d para hacer que los ajustes especificados sean los predeterminados, lo cual es útil si estás anticipando las próximas cuentas de usuario.

Estos sólo establecen los permisos como lo harías para el usuario, grupo, otro y máscara usando chmod:

setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY

Y esto podría ser como lo harías para un usuario específico o su grupo:

setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY

Y por supuesto, la fortaleza es que puedes designar cualquier usuario específico, múltiples usuarios, etc, todo sin tener que modificar la configuración de su grupo. Y a diferencia del chmod, si quieres que algunos grupos tengan acceso a un directorio y que otros grupos sólo tengan acceso a otro, es realmente posible con setfacl. Finalmente, para ver las ACLs de un directorio, ejecuta getfacl :

getfacl DIRECTORY

Y puedes especificar -R para ver las ACLs de los subdirectorios o -d para ver los valores por defecto.

3
3
3
2018-02-20 02:20:19 +0000

La respuesta rápida y fácil -

a. Añade (-a) tu usuario (nombredeusuario) al grupo (-G) www-data.

sudo usermod -a -G www-data user_name

b. Dale al grupo (g) los mismos (=) permisos que el usuario propietario (u) de /var/www Recursivamente (-R).

sudo chmod -R g=u /var/www

Explicación: Apache 2 en Debian/Ubuntu establece al Usuario y Grupo www-data como propietario de /var/www. Los permisos por defecto para el usuario son “Ver y modificar el contenido”, sin embargo el grupo sólo puede “Ver el contenido”. Por lo tanto, agregarse al Grupo www-data y darle los mismos permisos que el Usuario www-data, es una manera rápida y fácil de comenzar a desarrollar. Hago esto para todos los entornos de desarrollo web de mi localhost (PC/Laptop).

2
2
2
2017-03-19 21:13:20 +0000

Es casi autoexplicativo.

Añade a todos en el grupo g de /folder/ para tener w acceso de escritura (+w), -R es para la recursividad de las subcarpetas.

-3
-3
-3
2009-08-07 02:01:12 +0000

¿Puedes probar chmod 0777 /var/www ?

Una advertencia: si dejas que todo el mundo acceda a esta carpeta, eso significa que los hackers pueden acceder a esta carpeta si acceden a tu sistema. Por eso es mejor crear un grupo de usuarios permitidos, y darle a ese grupo acceso de escritura.

-3
-3
-3
2011-09-30 09:58:58 +0000

Primero se introduce la ruta de la carpeta en particular, luego usando este comando…

chmod -R 777 foldername
chown username:username foldername