Cambiar modos o permisos en Linux

Una de las maneras para controlar accesos de forma más sencilla en Linux es a través del uso de permisos o cambio de modos para archivos y directorios. Es una tareas primordial al momento de administrar servicios y recursos sobre el sistema operativo.

Inicialmente se debe conocer la estructura de cómo vienen desglosados los permisos, esto se puede visualizar cuando listamos el contenido de un directorio determinado con:

ls -l

En dicho directorio puede haber tanto archivos como subdirectorios, se verían listados:

-rwxr--r--+ 1 Félix Félix 0 Jun  2 09:13 archivo1
-rwxr--r--+ 1 Félix Félix 0 Jun  2 09:13 archivo2
-rwxr--r--+ 1 Félix Félix 0 Jun  2 09:13 archivo3
drwxr-xr-x+ 1 Félix Félix 0 Jun  2 09:13 directorio1
drwxr-xr-x+ 1 Félix Félix 0 Jun  2 09:13 directorio2

En sistemas Unix como Linux se considera que todo es un arhivo, existen otros tipos de archivos como enlaces simbólicos o dispositivos que tienen su respectiva letra o símbolo que los representa al inicio de cada línea como en el ejemplo anterior. Pero acá haré ejemplo de directorios y archivos:

  • Toda línea que empieza con guión indica que es un archivo
  • Toda línea que empieza con la letra d indica que es un directorio

Cada archivo y directorio viene amarrado a una serie de permisos desglosados en tres grupos: dueño, grupo y otros. Después del primer símbolo o caracter que indica el tipo de archivo, viene una serie de letras, las que se explican en el esquema básico:

Esquema básico

Símbolo Significado Valor
r Lectura 4
w Escritura 2
x Ejecución 1

Estas tareas de cambio de modos o permisos, se pueden realizar tanto en el ambiente gráfico como en el ambiente de comandos. Haré ejemplos en comandos y de dos formas, de la forma literal y la forma numérica, como para tener dos alternativas de uso.

Ejemplos en modo literal

Ver permisos de archivo1:

ls -l archivo1

-rwxr--r--+ 1 Félix Félix 0 Jun  2 09:13 archivo1

Agrego permisos de ejecución para el grupo en archivo1:

chmod g+x archivo1

Vuelvo a listar para ver sus permisos después del cambio:

ls -l archivo1

-rwxr-xr--+ 1 Félix Félix 0 Jun  2 09:13 archivo1

Agrego permisos de escritura para el grupo y otros en archivo1:

chmod g+w,o+w archivo1

Vuelvo a listar para ver sus permisos después del cambio:

ls -l archivo1

-rwxrwxrw-+ 1 Félix Félix 0 Jun  2 09:13 archivo1

Agrego permisos de ejecución para todos en archivo1:

chmod +x archivo1

Vuelvo a listar para ver sus permisos después del cambio:

ls -l archivo1

-rwxrwxrwx+ 1 Félix Félix 0 Jun  2 09:13 archivo1

Quitar permisos de ejecución para todos en archivo1:

chmod -x archivo1

Vuelvo a listar para ver sus permisos después del cambio:

ls -l archivo1

-rw-rw-rw-+ 1 Félix Félix 0 Jun  2 09:13 archivo1

Así se puede jugar un poco visualizando en cada cambio que se realiza sobre el archivo, así como se realiza en archivo1 se puede realizar con un directorio, con la diferencia en que los directorios pueden cambiarse modos o permisos de manera recursiva, utilizando como argumento adicional la -R, como ejemplo:

ls -ld directorio1

drwxr-xr-x+ 1 Félix Félix 0 Jun  2 09:13 directorio1

Cambio sus permisos de manera recursiva:

chmod g+w directorio1/ -R

Aquí se incide sobre el directorio y sobre su contenido de manera recursiva, es decir, todo el contenido del directorio cambiará su respectivo permiso de escritura tanto en archivos como en subdirectorios dentro de directorio1, y todos tendrán permiso de escritura para el grupo. Igualmente para quitar modo o permisos se hace como en el ejemplo de quitar permisos.

Ejemplos en modo numérico

Aquí debemos tomar en cuenta los valores del esquema básico, donde cada significado de la letra tendrá un valor específico, y para cada grupo de modo o permisos, se sumarían estos valores, es decir, si en archivo2 tenemos:

ls -l archivo2

-rwxr--r--+ 1 Félix Félix 0 Jun  2 09:13 archivo2

En valor numérico sería la suma de modos:

  • Para el dueño: rwx = 4+2+1 = 7
  • Para el grupo: r– = 4+0+0 = 4
  • Para el otros: r– = 4+0+0 = 4

El valor general sería: 744

Si queremos otorgar permisos de escritura a grupo y otros, desglosamos de la siguiente manera:

  • Para el dueño: rwx = 4+2+1 = 7
  • Para el grupo: rw- = 4+2+0 = 6
  • Para el otros: rw- = 4+2+0 = 6

El valor general sería: 766

Aplicaríamos la suma de los valores con el comando chmod, de la siguiente manera:

chmod 766 archivo2

Listamos y se vería:

ls -l archivo2

-rwxrw-rw-+ 1 Félix Félix 0 Jun  2 09:13 archivo2

Todas estas operaciones, también son efectivas sobre directorios con la particularidad de que con directorios pueden hacerse de manera recursiva como en el ejemplo literal.

Advertisements

About felixurbina

Humano con todos los defectos y virtudes que vienen de fábrica.
This entry was posted in Linux, Recomendación. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s