Chmod para permitir permisos de lectura y escritura para el directorio


62

He creado directorios en la raíz. Estoy buscando el chmodcomando para permitir que todos los usuarios lean y escriban permisos en un directorio específico. Lo hice chmod 775para un archivo pero necesito esto para un directorio. Esto incluye permisos en todos los archivos y subdirectorios.

Respuestas:


34

0775rara vez es correcto para un archivo. Lo siguiente agregará los permisos deseados apropiados al tipo apropiado, sin perturbar otros permisos existentes:

find somedir \( -type d -exec chmod u+rwx,g+rwx,o+rx {} \; -o -type f -exec chmod u+rw,g+rw,o+r {} \; \)

Vea la página del manual para encontrar para ayudar a descifrar eso.


48

Para todos los usuarios tener acceso de lectura y escritura, eso sería 0777un poco peligroso, especialmente si está ejecutando un servidor web. Como @unwind dijo:

chmod -R 0777 /mydirectory Permitirá a todos los usuarios acceso de lectura y escritura a todos los archivos y carpetas dentro de ese directorio

Dependiendo de su propósito, es posible que desee leer sobre bits fijos, que permiten a todos los usuarios crear nuevos archivos, pero no eliminar ni editar otros archivos en un directorio:

chmod +t /mydirectory

Además, en caso de que no lo sepa man chmod, aparecerá la página del manual del chmodcomando, que puede buscar el texto "recursivo" escribiendo/recursive


15

Así no es como funciona el modelo de protección Unix, no puede establecer permisos de forma recursiva. Debe configurarlos en cada directorio, todo el camino "hacia abajo".

Por supuesto, puede hacer la configuración de forma recursiva, pero eso solo significa "revisar y establecer estos permisos en todos los archivos y carpetas a continuación", que no es cómo entiendo su pregunta.

Para hacerlo, use la opción -R para chmod:

$ chmod -R 0755 /my-cool-directory

@unwind: me refiero a cada archivo y subdirectorio de un directorio que chmod tiene permiso de lectura y escritura para todos. ¿Es eso lo que hace este comando? Gracias

1
Cuando pongo -r antes del 0755 obtengo 0755 - no existe tal archivo o directorio ... poner el -r después resuelve mi problema.
Tim Mottram

"hacer". jajaja bonito.
ytpillai
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.