chmod arroja el operando faltante en 764, OK en 664

chmod arroja el operando faltante en 764, OK en 664

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 comando echo foo*imprime una línea en blanco en lugar de imprimirlo foo*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 --.

información relacionada