Aunque en el Tutorial Básico de Unix se ha explicado el uso del chmod y los permisos de los archivos, a continuación presentamos algunos de los usos del comando chmod en Unix.
Uso absoluto
Sintaxis:
chmod nnn archivo ...
n: número del 0 al 7 para la notación binaria del rwx (lectura-escritura-ejecución) intercambiando cada permiso por un 1. (rwx=111 binario = 7, r--=100 binario = 4)
Sin dudarlo, la forma más sencilla (al menos para escribir en la línea de comando) para dar o quitar permisos a los archivos y directorios es sin duda la notación binaria.
Ejemplo: Para dar todos los permisos (rwx=7) al propietario del directorio, todos los permisos (rwx=7) al grupo y únicamente permisos de lectura y ejecución (r-x=5) al resto de los usuarios se utilizaría el comando
$ chmod 775 directorio
Pero si quisieramos dar los mismos permisos al directorio y todos los directorios y archivos dentro del directorio de forma recursiva se agrega el parámetro: -R
$ chmod -R 775 directorio
Uso simbólico
Sintaxis:
chmod archivo ...
es una lista separada por comas (sin espacios) que describe los permisos de la forma simbólica: [quien] operador [permisos].
[quien] puede ser alguno de los siguientes valores:
- u para indicar el usuario (propietario);
- g para indicar el grupo;
- o para indicar el resto; y
- a para todos los permisos.
Los operadores pueden ser:
- + Para agregar permisos;
- - Para quitar permisos; o
- = Para asignar permisos absoluto,
Por último algunos de los permisos son:
- r para lectura;
- w para escritura;
- x para ejecución; o
- l bloqueo al acceso (locking)
Un ejemplo de la como se utiliza el modo simbólico para dar permisos de ejecución de un archivo al propietario y al grupo:
$ ls -l archivo1.sh
-rw-rw-r-- 1 usuario staff 263 agto 15 2008 archivo1.sh
$ chmod u+x,g+x archivo1.sh
-rwxrwxr-- 1 usuario staff 263 agto 15 2008 archivo1.sh
Este es más funcional para quitar un permiso en específico a algun directorio o archivo. También es válido con el parámetro -R para ejecutarlo de manera recursiva.