Habiendo configurado todo en mi proyecto en 777
( rwxrwxrwx
) para fines de depuración, quería reducir la apertura y configurar los directorios (no los archivos) en la carpeta raíz en 664
( rw-rw-r--
).
Para hacer esto utilicé (de¿Cómo enumerar carpetas usando comandos bash?):
chmod 664 -- */
Esto funcionó como se esperaba. Luego me di cuenta de que necesitaba el bit de ejecución en los directorios para ingresarlos. Entonces lo intenté:
chmod 764 -- */
Pero eso arrojó un missing operand after "764"
error.
Puedo cambiar los permisos a mano ( chmod 764 <dir-name>
) y no hay tantos directorios, por lo que no es un gran problema, pero me gustaría entenderlo.
¿Por qué no puedo utilizar chmod 764 */
para configurar los directorios en mi ruta actual rwxrw-r--
?
Respuesta1
Esto tendría sentido si ha configurado las opciones de Shell Global para que
*
incluye nombres que comienzan con.
y- un comodín que no coincide con nada simplemente desaparece, en lugar de persistir como sí mismo. (Por ejemplo, si no tiene ningún archivo cuyos nombres comiencen con
foo
, el comandoecho foo*
imprime una línea en blanco en lugar de imprimirlofoo*
literalmente).
Si lo anterior es cierto, entonces el primer comando se configuró .
en el modo 664, lo que significa que no tenía permiso para leer .
cuando emitió el segundo comando. Entonces */
no se pudo expandir y chmod 764 -- */
se convirtió chmod 764 --
.