GNU/Linux >> Tutoriales Linux >  >> Linux

Comprender los permisos básicos de archivos y la propiedad en Linux

Todos los archivos y directorios en Linux tienen un conjunto estándar de permisos de acceso. Estos permisos de acceso controlan quién puede acceder a qué archivos y proporciona un nivel fundamental de seguridad a los archivos y directorios en un sistema.

Permisos de visualización

Para ver los permisos de archivos y directorios, utilice ls -l o ls –n comandos.

# ls -l file
-rw-r--r-- 1 root root 0 Nov 19 23:49 file

El primer campo de información que muestra el comando ls -l es el tipo de archivo. El tipo de archivo generalmente especifica si es un archivo o un directorio. Un archivo se representa con un guión (-). Un directorio se representa con la letra d.
Los campos restantes representan los grupos de permisos:propietario, grupo y otros .

Grupos de permisos

Hay tres grupos de permisos:

  1. Propietario
  2. Grupo
  3. Otro

La tabla describe los grupos de permisos y su alcance:

Permiso Descripción
Propietario Permisos utilizados por el propietario asignado del archivo o directorio
Grupo Permisos utilizados por los miembros del grupo propietario del archivo o directorio
Otro Permisos utilizados por todos los usuarios que no sean el propietario del archivo y los miembros del grupo propietario del archivo o directorio

Conjunto de permisos

– Cada grupo de permisos tiene tres permisos, denominados conjunto de permisos.
– Cada conjunto consta de lectura , escribir y ejecutar permisos.
– Cada archivo o directorio tiene tres conjuntos de permisos para los tres tipos de grupos de permisos.
– El primer conjunto de permisos representa los permisos del propietario, el segundo conjunto representa los permisos del grupo y el último conjunto representa los otros permisos.
– Los permisos de lectura, escritura y ejecución están representados por los caracteres r , w y x , respectivamente.
– La presencia de cualquiera de estos caracteres, como r, indica que se otorga el permiso en particular.
– Un guión ( ) en lugar de un carácter en un conjunto de permisos indica que se deniega un permiso en particular.
– Linux asigna permisos iniciales automáticamente cuando se crea un nuevo archivo o directorio.

Permiso Acceso a un archivo Acceso a un directorio
Leer (r) Puede mostrar el contenido del archivo y copiar el archivo. Puede listar el contenido del directorio con el comando ls.
Escribir (w) Puede modificar el contenido del archivo. Puede modificar el contenido de un directorio, por ejemplo, eliminando un archivo. También debe tener el permiso de ejecución para que esto suceda.
Ejecutar (x) Puede ejecutar el archivo si es un ejecutable. Puede ejecutar un script de shell si también tiene permisos de lectura y ejecución. Puede usar el comando cd para acceder al directorio. Si también tiene acceso de lectura, puede ejecutar el comando ls -l en el directorio para mostrar el contenido. Si no tiene acceso de lectura, puede ejecutar el comando ls siempre que sepa el nombre del archivo.

Propiedad del archivo

Cada archivo es propiedad de un usuario específico (o UID) y un grupo específico (o GID). El chown El comando se puede usar para cambiar solo el usuario, o el usuario y el grupo de un archivo. Este es un ejemplo de cómo cambiar el propietario del archivo test a usuario y su grupo a usuario.

# ls -l test
-rw-r--r-- 1 root root 0 Nov 20 00:43 test
# chown user:user test
# ls -l test
-rw-r--r-- 1 user user 0 Nov 20 00:43 test

El formato básico para el comando chown es el siguiente:

# chown user:group filename

Un punto (.) se puede usar en lugar de los dos puntos (:) carácter separador. Además, se puede omitir el nombre de usuario o de grupo. Si se omite el nombre de usuario (pero el carácter separador está presente), el comando chown se comporta como chgrp comando, y solo se cambia la propiedad del grupo. Si se omite el nombre del grupo (pero el carácter separador está presente, entonces el grupo se establecerá en el grupo de inicio de sesión del usuario especificado. Si se omiten tanto el nombre del grupo como el carácter separador, solo se cambia el nombre de usuario. Por ejemplo , para cambiar solo el propietario podrías ejecutar lo siguiente:

# chown user filename

Un comando alternativo para cambiar solo el grupo de un archivo es el comando chgrp. Por ejemplo:

# chgrp group filename

Los usuarios normales suelen utilizar el comando chgrp para cambiar la propiedad del grupo de sus archivos. El comando chown normalmente solo lo usa el usuario root.

Propiedad de grupo predeterminada

Cada usuario puede ser miembro de muchos grupos (enumerados en el archivo /etc/group bajo varios grupos). Solo un grupo será el grupo principal de un usuario (enumerado en la entrada del usuario en /etc/password). Cuando un usuario crea un archivo, de forma predeterminada, el archivo será propiedad del grupo principal del usuario. Si quieren que el archivo sea propiedad de uno de sus otros grupos, deben usar chgrp comando para modificar la pertenencia al grupo. Por ejemplo:

$ id
uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file
$ ls -lrt file
-rw-rw-r-- 1 user user 0 Nov 20 00:52 file

Como se muestra arriba, el archivo recién creado (archivo) obtiene automáticamente el grupo como "usuario".

Permisos de archivos y directorios

A continuación se muestra el resultado de ls -l dominio; puede ver desde el primer carácter de cada línea que dir1 y dir2 son directorios (indicados por la d ) y que file1 y file2 son un archivo normal (indicado por ).

$ ls -l
total 0
drwxrwxr-x 2 user user 6 Nov 20 00:55 dir1
drwxrwxr-x 2 user user 6 Nov 20 00:55 dir2
-rw-rw-r-- 1 user user 0 Nov 20 00:55 file1
-rw-rw-r-- 1 user user 0 Nov 20 00:55 file2

Los siguientes nueve caracteres muestran los permisos del archivo para usuarios, grupos y otros (o todos los demás) como se muestra a continuación, con paréntesis agregados para mayor claridad:

-(rw-)(rw-)(r--) 1 user user 0 Nov 20 00:55 file1

Ahora el propietario tiene permisos de lectura y escritura (rw-), el grupo tiene permisos de lectura y escritura (rw-) y todos los demás solo tienen permisos de lectura (r–). Esto se llama representación simbólica porque letras como r, w y x se utilizan para indicar permisos.

Los permisos también se pueden representar numéricamente:

r = 4; w = 2; x = 1

Agregue cada sección para que los permisos del archivo meta (del ejemplo anterior) sean 664. Aquí hay otra forma de ver cómo llegamos a ese número:

-(rw-)(rw-)(r--)
-(42-)(42-)(4--)
664

Agregar los números en cada sección da como resultado permisos de 664.

Cambio de permisos de archivo

El comando chmod se usa para modificar los permisos de un archivo. Puede usarse para agregar o quitar permisos simbólicamente. Por ejemplo, para agregar permisos de ejecución para el propietario de un archivo, ejecutaría:

$ chmod u+x file_name

O bien, para agregar permisos de lectura y escritura para el grupo propietario del archivo, ejecutaría:

$ chmod g+rw file_name

En lugar de agregar permisos, la sintaxis simbólica de chmod también se puede usar para restar o establecer un valor absoluto como se muestra en estos ejemplos:

$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name

El comando chmod también puede establecer permisos explícitamente mediante una representación numérica. Por ejemplo, para establecer permisos en un archivo para rwxrwxr–, ejecutaría:

$ chmod 774 file_name

Además de los permisos estándar de lectura, escritura y ejecución, chmod también puede establecer permisos especiales. Estos son el bit setuid, el bit setgid y el bit sticky. Los siguientes ejemplos muestran la configuración de cada uno de estos permisos especiales junto con breves descripciones del efecto de esos permisos.

$ chmod u+s file_name

Agrega el setuid bit para que, si es ejecutable, este archivo se ejecute con los permisos de su propietario.

$ chmod g+s file_name

Agrega el setgid bit para que, si es ejecutable, este archivo se ejecute con los permisos de su grupo. Cuando esto se establece en un directorio, todos los archivos creados en el directorio tendrán el mismo grupo que el directorio.

$ chmod o+t directory_name

Agrega el bit pegajoso para que los usuarios solo puedan eliminar archivos de este directorio que ellos mismos crearon.


Linux
  1. Conceptos básicos de los permisos de archivos de Linux

  2. Permisos de Linux:una introducción a chmod

  3. Linux chmod y chown:cómo cambiar los permisos y la propiedad de los archivos en Linux

  4. Linux:¿comprensión de los permisos y tipos de archivos de Unix?

  5. ¿Permisos de archivo y ahorro?

Comprender los permisos de archivos de Linux

Comando Chown en Linux (propiedad del archivo)

Comando Chmod en Linux (Permisos de archivo)

Permisos y propiedad de archivos de Linux explicados con ejemplos

Comprender los permisos de archivos de Linux

Permisos básicos de directorio de Linux y cómo verificarlos