Tabla de Contenidos

Gestión de Permisos

Comando_chmod

Sirve para gestionar los permisos en un sistema Linux; y en esta parte tenemos los permisos:

Vamos quitar el permiso de lectura al archivo hola:

Ahora vamos a quitar el permiso de escritura al archivo hola con chmod -w:

Y si intentamos escribir, vemos que no podremos:

GESTIÓN DE PERMISOS CON NÚMEROS EN LINUX

Los permisos se pueden representar mediante números octales, donde:

Por lo tanto, la combinación de estos números octales representa los permisos de cada conjunto (propietario, grupo y otros). Aquí hay algunos ejemplos:

Estos números octales se suman para representar los permisos. Por ejemplo:

Entonces, cuando utilizas chmod con números, especificas los permisos para el propietario, el grupo y otros en ese orden. Por ejemplo:

chmod 755 archivo

EJEMPLOS

Otorgar permisos completos al propietario y sólo de lectura a grupos y otros

chmod 744 nombre_carpeta

Explicación de los permisos:

Esto significa que el propietario tiene permisos completos (lectura, escritura y ejecución), mientras que el grupo y otros tienen permisos solo de lectura. Puedes adaptar el comando según tus necesidades específicas.

GESTIÓN DE PERMISOS CON LETRAS EN LINUX

Así es cómo funciona la gestión de permisos con el comando chmod en Linux usando letras en lugar de números:

Luego, las letras siguientes indican la acción a realizar:

Y, finalmente, las letras que representan los permisos:

EJEMPLOS:

Por ejemplo, con la u damos permisos al usuario propietario y luego establecemos permiso de escritura, lectura o ejecución:

Ahora por ejemplo, vamos a dar permiso de ejecución al grupo:

Y ahora, de escritura a los otros:

Además, la letra 's' se utiliza junto con 'u', 'g' o 'o' y con 'x' para establecer atributos especiales:

Por ejemplo, chmod u+rw archivo dará permisos de lectura y escritura al usuario, y chmod u+s programa establecerá el bit SUID en el programa.

Es decir, si por ejemplo ejecutamos el comando sudo chmod u+s /bin/bash establece el bit de SUID (Set User ID) en un archivo ejecutable. Cuando se establece el bit SUID en un archivo ejecutable, dicho archivo se ejecuta con los privilegios del propietario del archivo en lugar de los del usuario que lo ejecuta.

Comando_setfact

El comando setfacl se utiliza para establecer listas de control de acceso (ACL). Las ACL permiten un control más detallado sobre los permisos de acceso a archivos y directorios en comparación con los permisos tradicionales de Unix.

setfacl se utiliza para gestionar las Listas de Control de Acceso (ACL), que permiten definir permisos más detallados que los proporcionados por chmod.

Ver ACL existentes: Puedes usar el comando getfacl para ver las ACL existentes en un archivo o directorio. Por ejemplo:

getfacl carpeta1

Establecer nuevas ACL: Para establecer una nueva ACL, puedes usar setfacl. De tal forma que podemos asignar permisos a una carpeta para un usuario en específico. Por ejemplo, vamos a crear una carpeta donde nadie tenga ningún permiso:

Y ahora con setfacl le damos permisos sólo al usuario Esteban:

setfacl -m u:esteban:rwx carpeta

Nos logueamos como el usuario Esteban y vamos a ver que con este usuario sí tenemos permisos de rwx sobre esta carpeta:

Sin embargo, si ahora somos otro usuario, por ejemplo mario, veremos que no tenemos permisos:

Crear ACL a grupos También puedes establecer ACL para grupos:

setfacl -m g:grupo12:rw carpeta1

Eliminar una ACL Esto eliminará la entrada de ACL para el usuario especificado:

setfacl -x u:usuario nombre_del_archivo

Comando umask

El comando umask se utiliza para establecer los permisos predeterminados para los nuevos archivos y directorios creados por un usuario. El nombre “umask” proviene de “user mask” o “user file creation mask”. La máscara umask se utiliza para ocultar (o restar) ciertos permisos de los permisos predeterminados que se asignarían a un archivo o directorio recién creado.

La máscara umask es un valor de tres dígitos octales (0-7) que se aplica al inverso de los permisos que se desean ocultar. Cada dígito en la máscara representa un conjunto específico de permisos (lectura, escritura y ejecución) para el propietario, el grupo y otros. La máscara umask se resta de los permisos predeterminados para determinar los permisos finales.

La estructura de la máscara umask es la siguiente:

umask [dígito de usuario] [dígito de grupo] [dígito de otros]

Ejemplos de máscaras umask comunes: