Linux

Comprensión de los permisos de archivos de Linux

Comprensión de los permisos de archivos de Linux

En Linux, los permisos, los atributos y la propiedad de los archivos controlan el nivel de acceso que los procesos del sistema y los usuarios tienen a los archivos. Esto asegura que solo los usuarios y procesos autorizados puedan acceder a archivos y directorios específicos.

Permisos de archivos de Linux #

El modelo básico de permisos de Linux funciona asociando cada archivo del sistema con un propietario y un grupo y asignando derechos de acceso de permisos para tres clases diferentes de usuarios:

La propiedad del archivo se puede cambiar usando el chown y chgrp comandos.

Se aplican tres tipos de permisos de archivo a cada clase de usuarios:

Este concepto le permite controlar qué usuarios pueden leer el archivo, escribir en el archivo o ejecutar el archivo.

Para ver los permisos del archivo, use el ls mando:

ls -l nombre_archivo
-rw-r - r-- 12 usuarios de linuxize 12.0K 28 de abril 10:10 nombre_archivo | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Grupo | | | | | + -------------------> 6. Propietario | | | | + --------------------------> 5. Método de acceso alternativo | | | + ----------------------------> 4. Otros permisos | | + -------------------------------> 3. Permisos de grupo | + ----------------------------------> 2. Permisos de propietario + ------------------------------------> 1. Tipo de archivo 

El primer carácter indica el tipo de archivo. Puede ser un archivo normal (-), directorio (D), un enlace simbólico (l), u otros tipos especiales de archivos. Los siguientes nueve caracteres representan los permisos del archivo, tres tripletes de tres caracteres cada uno. El primer triplete muestra los permisos del propietario, el segundo grupo los permisos y el último triplete muestra los permisos de todos los demás.

En el ejemplo anterior (rw-r - r--) significa que el propietario del archivo tiene permisos de lectura y escritura (rw-), el grupo y otros solo tienen permisos de lectura (r--).

Los permisos de archivo tienen un significado diferente según el tipo de archivo.

Cada uno de los tres tripletes de permisos se puede construir con los siguientes caracteres y tener diferentes efectos, dependiendo de si están configurados en un archivo o en un directorio:

Efecto de los permisos en los archivos

PermisoPersonajeSignificado en archivo
Leer-El archivo no es legible. No puede ver el contenido del archivo.
rEl archivo es legible.
Escribir-El archivo no se puede cambiar ni modificar.
wEl archivo se puede cambiar o modificar.
Ejecutar-El archivo no se puede ejecutar.
XEl archivo se puede ejecutar.
sSi se encuentra en el usuario triplete, establece el setuid un poco. Si se encuentra en el grupo triplete, establece el setgid un poco. También significa que X la bandera está puesta.
Cuando el setuid o setgid las banderas se establecen en un archivo ejecutable, el archivo se ejecuta con los privilegios de propietario y / o grupo del archivo.
SIgual que s, pero el X la bandera no está configurada. Esta bandera rara vez se usa en archivos.
tSi se encuentra en el otros triplete, establece el pegajoso un poco.
También significa que X la bandera está puesta. Esta bandera es inútil en los archivos.
TIgual que, t pero el X la bandera no está configurada. Esta bandera es inútil en los archivos.

Efecto de los permisos en directorios (carpetas)

Los directorios son tipos especiales de archivos que pueden contener otros archivos y directorios.

PermisoPersonajeSignificado en el directorio
Leer-No se puede mostrar el contenido del directorio.
rSe puede mostrar el contenido del directorio.
(mi.gramo., Puede listar archivos dentro del directorio con ls.)
Escribir-El contenido del directorio no se puede modificar.
wEl contenido del directorio se puede modificar.
(mi.gramo., Puede crear archivos nuevos, eliminar archivos, etc.)
Ejecutar-El directorio no se puede cambiar a.
XEl directorio se puede navegar usando CD.
sSi se encuentra en el usuario triplete, establece el setuid un poco. Si se encuentra en el grupo triplete establece el setgid un poco. También significa que X la bandera está puesta. Cuando el setgid La bandera está configurada en un directorio, los nuevos archivos creados dentro de él heredan el ID de grupo de directorio (GID) en lugar del ID de grupo principal del usuario que creó el archivo.
setuid no tiene ningún efecto en los directorios.
SIgual que s, pero el X la bandera no está configurada. Esta bandera es inútil en directorios.
tSi se encuentra en el otros triplete, establece el pegajoso un poco.
También significa que X la bandera está puesta. Cuando el bit adhesivo se establece en un directorio, solo el propietario del archivo, el propietario del directorio o el usuario administrativo pueden eliminar o cambiar el nombre de los archivos dentro del directorio.
TIgual que t, pero el X la bandera no está configurada. Esta bandera es inútil en directorios.

Cambio de permisos de archivo #

Los permisos de archivo se pueden cambiar usando el chmod mando. Solo el root, el propietario del archivo o el usuario con privilegios de sudo pueden cambiar los permisos de un archivo. Tenga mucho cuidado al usar chmod, especialmente cuando se cambian los permisos de forma recursiva. El comando puede aceptar uno o más archivos y / o directorios separados por espacios como argumentos.

Los permisos se pueden especificar usando un modo simbólico, un modo numérico o un archivo de referencia.

Método simbólico (texto) #

La sintaxis del chmod El comando cuando se usa el modo simbólico tiene el siguiente formato:

chmod [OPCIONES] [ugoa…] [- + =] permisos… [,…] ARCHIVO… 

El primer conjunto de banderas ([ugoa…]), banderas de usuarios, define las clases de usuarios para las que se cambian los permisos del archivo.

Cuando se omite la bandera de los usuarios, por defecto es a.

El segundo conjunto de banderas ([- + =]), los indicadores de operación, define si los permisos se eliminarán, agregarán o establecerán:

Los permisos (permanentes .. ) se establecen explícitamente utilizando cero o una o más de las siguientes letras: r, w, X, X, s, y t. Usa una sola letra del conjunto tu, gramo, y o al copiar permisos de una a otra clase de usuarios.

Al establecer permisos para más de una clase de usuario ([,…]), use comas (sin espacios) para separar los modos simbólicos.

A continuación, se muestran algunos ejemplos de cómo utilizar chmod comando en modo simbólico:

Método numérico #

La sintaxis del chmod El comando cuando se usa el modo simbólico tiene el siguiente formato:

chmod [OPCIONES] NÚMERO DE ARCHIVO… 

Al usar el modo numérico, puede establecer los permisos para las tres clases de usuarios (propietario, grupo y todos los demás) al mismo tiempo.

El número de permiso puede ser un número de 3 o 4 dígitos. Cuando se usa un número de 3 dígitos, el primer dígito representa los permisos del propietario del archivo, el segundo el grupo del archivo y el último todos los demás usuarios.

Cada permiso de escritura, lectura y ejecución tiene el siguiente valor numérico:

El número de permisos de una clase de usuario específica está representado por la suma de los valores de los permisos para ese grupo.

Para conocer los permisos del archivo en modo numérico, simplemente calcule los totales para las clases de todos los usuarios. Por ejemplo, para otorgar permisos de lectura, escritura y ejecución al propietario del archivo, permisos de lectura y ejecución para el grupo del archivo y solo permisos de lectura para todos los demás usuarios, debe hacer lo siguiente:

Usando el método anterior, llegamos al número 754, que representa los permisos deseados.

Para configurar el setuid, setgid, y pedacito pegajoso banderas, utilice un número de cuatro dígitos.

Cuando se utiliza el número de 4 dígitos, el primer dígito tiene el siguiente significado:

Los siguientes tres dígitos tienen el mismo significado que cuando se usa un número de 3 dígitos.

Si el primer dígito es 0, se puede omitir y el modo se puede representar con 3 dígitos. El modo numérico 0755 es lo mismo que 755.

Para calcular el modo numérico, también puede utilizar otro método (método binario), pero es un poco más complicado. Saber cómo calcular el modo numérico usando 4, 2 y 1 es suficiente para la mayoría de los usuarios.

Puede verificar los permisos del archivo en notación numérica usando el estadística mando:

stat -c "% a" nombre_archivo 

A continuación, se muestran algunos ejemplos de cómo utilizar chmod comando en modo numérico:

Conclusión #

En Linux, el acceso a los archivos está restringido mediante permisos, atributos y propiedad de los archivos. Para cambiar los permisos del archivo, use el chmod mando.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.

Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...
Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...