4.5.8.- chmod

Sintaxis: chmod [-R] modo archivo(s)

El programa chmod permite modificar los permisos de un fichero. Para poder modificar estos derechos, se debe ser el propietario del mismo. También el administrador del sistema o superusuario tiene la posibilidad de cambiarlos. Si no somos ni el propietario del archivo ni el superusuario, chmod fallará.

Esta orden admite opciones, algunas de las más comunes son las que se citan a continuación:

  • -R: con esta opción, además de la carpeta especificada, también se modifican de manera recursiva los archivos y carpetas que contenga.

Para cambiar el modo de un archivo seguiremos estos pasos:

  1. Convertir los campos de protección a dígitos binarios, poniendo un 1 en el caso que queramos activar dicho campo (rwx), o un 0 en el caso de querer desactivarlo. Si, por ejemplo, queremos que los permisos finales del archivo sean rwxr-xr--, la secuencia de dígitos binarios sería: 111101100.

  2. Dividir esos dígitos binarios en tres partes de tres bits cada una: una para el propietario, otra para el grupo y una última para el resto de los usuarios.

  3. Convertir cada grupo de permisos (grupo de tres dígitos) a numeración octal.

  4. Reunir los tres dígitos octal en un único número, el cual será el modo que le pasemos como argumento a chmod.

Ejemplo:

Modo Usuario Grupo Otros
rwxr-xr-- rwx r-x r--
Valor binario 111 101 100
Valor octal 7 5 4
chmod 754 archivo

Existe otra forma de especificar los modos de forma simbólica. El modo simbólico consta de tres componentes: un código que indica el grupo de permisos que se quieren modificar, un símbolo que indica si se desea añadir, borrar o definir el modo del valor indicado y un código que especifica cuál debería ser el permiso.

Código del grupo de permisos Código de tipo de cambio Permisos para modificar el código
u (propietario) + (añadir) r (lectura)
g (grupo) - (eliminar) w (escritura)
o (resto usuarios) = (definir igual que) x (ejecución)
a (todos) s (SUID o SGID)
t (sticky bit)
u (permisos del propietario existentes)
g (permisos del grupo existentes)
o (permisos del resto de usuarios existentes)

Ejemplo:

chmod u+x,g=u archivo
chmod g-u archivo
chmod u+w,o=g archivo

results matching ""

    No results matching ""