it-swarm-es.tech

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

Instalé Apache2 en Ubuntu justo ahora, y noté que la carpeta/var/www está protegida. Solo puedo Sudo todo, pero prefiero darle acceso de escritura.

¿Cómo puedo hacer esto?

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

184
Carson Myers

Para compartir mejor con varios usuarios que deberían poder escribir /var/www, se le debe asignar un grupo común. Por ejemplo, el grupo predeterminado para 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>

A continuación, establezca los permisos correctos en/var/www.

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

Además, debe 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 {} \;    

Encuentre todos los archivos en /var/www y agregue permisos de lectura y escritura para el propietario y el grupo:

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

Es posible que tenga que cerrar sesión y volver a iniciarla para poder realizar cambios si está editando el permiso para su propia cuenta.

313
jtimberman

Hay una forma más sencilla de hacer esto, intente hacer este comando.

Sudo chmod -R 757 /var/www

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

32
Krishna Modi

Leer + Escribir:

Sudo chmod -R a+rw /var/www

Leer + Escribir + Ejecutar:

Sudo chmod -R a+rwx /var/www
27
paivaric

También puede replicar lo que jtimberman sugirió usando listas de control de acceso . El comando setfacl acepta que -s reemplace una ACL existente o -m para modificarla; -R para hacer que las ACLs del directorio sean recursivas; y -d para hacer que la configuración especificada sea la predeterminada, lo que es útil si está anticipando las cuentas de usuario futuras.

Estos simplemente establecen los permisos como lo haría 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 cómo 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 puede designar a cualquier usuario específico, a varios usuarios, todo sin tener que modificar la configuración de su grupo. Y a diferencia de chmod, si desea que algunas groupies tengan acceso a un directorio y que otras solo tengan acceso a otra, en realidad es posible con setfacl. Finalmente, para ver las ACL de un directorio, ejecute getfacl :

getfacl DIRECTORY

Y puede especificar -R para ver las ACL de los subdirectorios o -d para ver los valores predeterminados.

7
Nikhil Chelliah

La respuesta rápida y fácil -

a. Agregue ( -a ) su usuario ( nombre_usuario ) al grupo ( -G ) www-data .

Sudo usermod -a -G www-data user_name

segundo. Otorgue 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 el usuario y grupo www-data como el propietario de/var/www . Los permisos predeterminados para el usuario son "Ver y modificar contenido", sin embargo, el grupo solo puede "Ver contenido". Por lo tanto, agregarse al grupo www-data y otorgarle los mismos permisos que al usuario wwww-data, es una forma rápida y fácil de desarrollarse. Hago esto para todos mis entornos de desarrollo web localhost (PC/Laptop).

2
user1138

Yo uso typicall

chmod g+w /folder/ -R

Es casi auto-explicativo.

Agrega a todos en el grupo g de /folder/ para tener acceso a write (+w), -R es para recursión de subcarpetas.

1
Arda