Formación informática

Java | Joomla | MySQL

Debian - Tema 9.3: permisos en Unix

Los derechos, permisos o modos de Unix son el control lógico que impone un sistema operativo GNU/Linux para limitar el acceso a los directorios y/o el uso de los archivos contenidos en ellos. De esta forma conseguimos limitar el posible daño causado por los usuarios debido a un mal uso del sistema.

 

PERMISOS-FUERA

 

9.3.1. Definición de permisos

Los derechos de acceso en Linux se definen a cuatro niveles:

  • Cuentas de usuario. El propietario de un archivo es el usuario que lo ha creado. Para ello, se utiliza el número de identificación del usuario.
  • Un grupo de usuarios. Un archivo pertenecerá por defecto al grupo principal del propietario del archivo. Para ello su usa el número de identificación del grupo.
  • Otros: es una entidad creada para poder compartir información con usuarios que no sean miembros de los dos niveles anteriores. Esta opción implica una pérdida de control en la seguridad del sistema y es mejor no usarla. Todo usuario tiene que pertenecer a un grupo de usuarios y disponer de una cuenta de usuario autentificada en el sistema. Un ejemplo de este permiso es la concesión temporal del permiso de ejecutar un archivo con extensión sh para instalar algún programa o realizar alguna configuración.
  • Todos: incluye todos los tipos de usuarios anteriores.

9.3.2. Tipos de permisos

9.3.2.1. Permisos básicos

Cuando ejecutamos el comando ls –l, vemos los permisos que tiene concedidos cada archivo:

 

comando ls en Linux

 

Si nos centramos solo en la parte que describe los permisos vemos que, justo a continuación del carácter que define el tipo de archivo, podemos ver los permisos de acceso concedidos al usuario o u, a los miembros del grupo o g y al resto de usuarios u o.

Si realizamos un extracto de los permisos tendríamos la imagen de la siguiente página en la que las tres primeras letras representan los permisos de usuario, las tres siguientes los de grupos y las tres últimas las de otros. En el ejemplo la usuaria tiene concedidos los permisos de lectura y escritura, dentro del grupo tiene concedidos los permisos de lectura y ejecución. Por su parte, otros tiene concedidos los permisos de lectura y ejecución.

 

Permisos en Linux

 

Los permisos pueden concederse tanto a directorios como archivos. Bien sean permisos de usuario, de grupo o para el resto de usuarios, los tipos de permisos básicos existentes, expresados siempre en este orden, y su efecto son:

  • r, read o lectura. Cuando el permiso de lectura está activo sobre un directorio significa que se podrá listar los recursos almacenados en él. Si está asignado a un archivo se podrá leer su contenido.
  • w, write o escritura. Cuando el permiso de escritura está activo sobre un directorio significa que se podrá crear y borrar archivos en su interior. Si está activado para un archivo significa que se podrá modificar su contenido.
  • x, execute o ejecución. Si el permiso de ejecución está activo sobre un directorio significa que el usuario podrá realizar otras funciones dentro de él mediante los otros permisos de lectura y escritura. Si está activo sobre un archivo se podrá ejecutarlo desde la línea de comandos.

PERMISO

ACCIÓN SOBRE ARCHIVO

ACCIÓN SOBRE DIRECTORIO

r

Se puede leer el contenido

Se puede listar el contenido

w

Se puede modificar el contenido

Se pueden modificar las entradas

x

Se puede ejecutar el archivo

Se puede acceder a las entradas

Hay dos posibilidades: que el permiso esté concedido o no. Si está concedido, en la posición correspondiente aparece la letra representativa del permiso. Si no está concedido, entonces aparecerá un guion medio (-).

En el ejemplo visto anteriormente, el usuario Willy tiene permiso para leer y modificar el archivo notas pero no para ejecutarlo.

9.3.32.2. Permisos SUID, SGID, Sticky

Son un tipo de derechos suplementarios a los vistos en el apartado anterior pero igual de indispensables. Veamos el significado de cada uno. Por razones de seguridad, estos permisos solo se aplican con archivos binarios y scripts Perl. Tambíen se usan como para organizar directorios colaborativos entre diferentes usuarios.

La representación de los permisos mediante el comando ls –l es:

  • Bit SUID. Cuando está activo en un archivo significa que el que lo ejecute va a tener los mismos permisos que el que creó el archivo. Esto puede llegar a ser muy útil en algunas situaciones pero hay que utilizarlo con cuidado, dado que puede generar grandes problemas de seguridad. El archivo tiene que conceder permisos de ejecución para que funcione correctamente. El carácter x de los permisos del propietario se cambia por una ese minúscula (s) cuando este permiso está activado; una ese mayúscula (S) significa que el permiso en ejecución no está activado al mismo tiempo. Un ejemplo típico es el comando passwd, el cual necesita tener privilegios de root para acceder a los archivos que guardan la configuración de usuarios:

josemariatc@debian:~$ ls -lh /usr/bin/passwd

-rwsr-xr-x 1 root root 53K may 17 2017 /usr/bin/passwd

  • SGID. El SGID es lo mismo que en el SUID, pero a nivel de grupo. Es decir, todo archivo que tenga activo el SGID, al ser ejecutado, tendrá los privilegios del grupo al que pertenece. Esto es muy usado cuando queremos configurar un directorio colaborativo: si aplicamos este bit al directorio, cualquier archivo creado en dicho directorio, tendrá asignado el grupo al que pertenece el directorio.

josemariatc@debian:~$ ls -lh /usr/bin/wall

-rwxr-sr-x 1 root tty 27K mar 30 2015 /usr/bin/wall

  • Sticky bit. Se utiliza para permitir que cualquiera pueda escribir y modificar sobre un archivo o directorio, pero que solo su propietario o root pueda eliminarlo. Una te minúscula (t) se indica en lugar de la equis (x) a nivel de los permisos de identidad del otros. Si la te es mayúscula (T), significa que el permiso x que está oculto no está activo. El ejemplo típico es el directorio /tmp:

josemariatc@debian:~$ ls -l / | grep tmp

drwxrwxrwt 17 root root 3072 jun 19 09:44 tmp

PERMISO

ARCHIVO

DIRECTORIO

SUID

Ejecuta el archivo con la identidad del propietario del archivo

 

SGID

Ejecuta el archivo con la identidad del grupo del archivo

Los archivos creados en el directorio heredan del grupo del directorio en lugar del grupo principal del usuario.

Sticky

La imagen del ejecutable sigue en memoria, haciendo su recarga más rápida

Sólo el propietario, puede borrar los archivos contenidos en el directorio.

Veamos un ejemplo. Para ellos vamos a acceder a un directorio creado específicamente para este ejemplo:

josemariatc@debian: ls -l

drwxrwsr-x. 2 hvivani grupo 4096 sep  6 09:32 dirtest

josemariatc@debian: cd dirtest

josemariatc@debian: touch prueba.txt

josemariatc@debian: ls –l

total 0

-rw-r--r--. 1 usuario1 grupo 0 Sep  6 09:50 nn.txt

9.3.3. Jerarquía de aplicación de los permisos.

El orden de aplicación jerárquica de los permisos es: usuario, grupo y otros. De esta forma, primero se van a comprobar los permisos de usuario.

El permiso de acceso a un archivo no se define únicamente por los permisos otorgados al archivo y al directorio que lo contiene, sino que hay que tener el permiso de atravesar todos los directorios especificados en la ruta de acceso al archivo. De esta forma para acceder en lectura al archivo /dir1/dir2/dir3/archivo, hay que tener concedido el permiso r en el archivo y los permios r y x en los tres directorios de paso.

Los permisos concedidos a un directorio son los que definen el derecho de conservar o borrar los archivos en su interior.

Es posible borrar un archivo para el que no se tiene permisos de escritura y lectura si los permisos asociados del directorio donde se almacenan están concedidos.

Agregar un permiso activo o quitar uno inactivo es una operación nula y no provoca ningún tipo de error o cambio.

 Debian - Tema 9.2.3: comandos de administración de grupos de usuarios <- | ->   Debian - Tema 9.4: notaciones
   GNU/Linux - Temario

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información