Quiero chmod
muchos archivos y directorios. Como x
indica la lista de directorios y ejecutar para archivos normales, me gustaría solicitar rw
archivos y rwx
directorios. ¿Es posible usar solo el chmod
comando?
Si no es así, ¿cuál es la forma más conveniente?
Hacer una chmod -R 770
no es una posibilidad ya que no quiero que los archivos normales se vuelvan ejecutables.
linux
permissions
file-management
Eliminado
fuente
fuente
Respuestas:
Hago esto en ocasiones usando un solo
find
comando. Feo pero efectivo.fuente
find . -type d -exec chmod -vc 755 "{}" \;
(incluso-vc
para algunos comentarios). (¿Y quizás, solo para aclarar, agregar los dos comandos independientes a la respuesta también?)Use el permiso X, de la página del manual:
Entonces haga lo siguiente:
Esto elimina el bit de ejecución de todos los archivos y directorios seguido de agregar privilegios de lectura y escritura a todo, y privilegios de ejecución solo a directorios. (Ningún archivo normal tiene el bit de ejecución activado desde el primer paso).
fuente
chmod -R a-x [directory]
seguidochmod -R a+rwX [directory]
?a-x
, el directorio no es accesible. De hecho, chmod falla con el permiso denegado y no eliminará el bit ejecutable de los archivos dentro del directorio. ¿Hay alguna manera de hacer esto sin ser root?También puede usar
find
junto conxargs
:donde
-type
especifica d irectorio o f ile.fuente
xargs
es lo suficientemente inteligente como para romper largas líneas de comando en ejecuciones múltiples. Consulte su página de manual de xargs y asegúrese de verificarxargs --show-limits
.