LINUX

Permisos de archivos de Linux para principiantes

permisos de archivos linuxEn el sistema operativo Linux, todo está organizado en forma de archivos y directorios. Al establecer permisos en archivos y directorios, uno puede asegurarse de que solo los usuarios autorizados tengan permiso para acceder a datos específicos. Cada archivo en Linux es propiedad de un usuario y grupo. El usuario es el que crea el archivo y el grupo al que pertenece el usuario (propietario del archivo).

Comprender los permisos de archivos

Los permisos de archivo constan de tres permisos que puede aplicar a archivos y directorios. En esta sección, aprenderá cómo funciona el sistema y cómo modificar estos permisos. Antes de hacer esto, veamos cómo leer los permisos actuales. El mejor método para hacerlo es utilizando ls -l, que le mostrará una lista de todos los archivos y directorios en el directorio actual

Por ejemplo, puede enumerar los archivos en el directorio /home/sam como sigue.

ls -l /home/sam
 drwxrwxrwx 3 sam admin 80    2012-08-20 21:37 tmp
 -rw-rw-r-- 1 sam admin 8187  2012-08-25 13:35 file1
 -rwxr-x--- 1 sam admin 10348 2012-08-21 20:31 file2

El resultado se muestra en 7 columnas, pero nos concentraremos en la primera, la tercera y la cuarta columna.

  • la primera columna muestra los permisos del archivo,
  • la tercera columna muestra el usuario propietario del archivo,
  • la cuarta columna muestra el propietario del grupo del archivo.

Para comprender fácilmente los permisos de archivo, debemos comprender la primera columna que se encuentra en este formulario

[d][rwx][rwx][rwx]

Aquí el primer carácter indica el tipo de archivo. Por ejemplo, da

  • D : directorio
  • : archivo regular
  • l : enlace simbólico
  • pag : tubería con nombre
  • s : Socket de dominio Unix
  • C : archivo de dispositivo de caracteres
  • B : bloquear archivo de dispositivo

A continuación, hay nueve caracteres para especificar los permisos que se establecen en el archivo o directorio:

  • el primer conjunto de tres son los permisos de propietario del usuario,
  • el siguiente conjunto de tres son los permisos de propietario del grupo,
  • el último conjunto de tres se refiere a los permisos otorgados a otros.

Los tres permisos básicos le permiten leer, escribir y ejecutar archivos, pero también existen permisos especiales. El efecto de estos permisos será diferente cuando se apliquen a archivos o directorios. Existen:

  • permiso de lectura (r o 4): significa que podrá leer un archivo y enumerar el contenido de un directorio
  • permiso de escritura (w o 2): significa que podrá editar un archivo y agregar, eliminar o cambiar el nombre de archivos en un directorio.
  • ejecutar permiso (x o 1): significa que podrá ejecutar un programa o script de shell y moverse a un directorio (cd al directorio).
  • Establecer el permiso de ID de usuario (SUID) (u + so 4): solo se puede configurar para un usuario. Significa que cualquier usuario puede ejecutar un programa / script con los permisos del propietario del archivo.
  • Establecer el permiso de ID de grupo (GUID) (g + so 2): solo se puede configurar en un grupo. Eso significa que cualquier usuario puede ejecutar un programa / script con los permisos del propietario del grupo y cualquier archivo creado en un directorio obtiene el mismo propietario del grupo.
  • Permiso de bit pegajoso (to 1): solo se puede aplicar en el directorio y evitar que los usuarios eliminen archivos de otros usuarios.

Para obtener detalles sobre el modo del comando chmod concept, puede leer este artículo para principiantes y usuarios avanzados de Linux.

1. Ejemplos de permisos de chmod simbólicos

El comando de linux chmod se puede utilizar para cambiar el permiso de un archivo o directorio. Cuando desee establecer permisos, puede utilizar el modo simbólico (r, w, x, s, t). Para aplicarlo a un directorio con su contenido (recursivo), usa -R opción del comando chmod.

una. chmod + x

Para agregar un permiso de ejecución en un script o programa para ejecutarlo, podemos usar chmod +x comando que establecerá el permiso para usuario, grupo y el otro. los + El operador agrega un permiso a los existentes. Por ejemplo :

# ./hello
bash: ./hello: Permission denied

Ahora apliquemos el permiso

# chmod +x hello
# ./hello 
Hello... How are you ?

Para acceder (moverse) en un directorio, usamos el permiso de ejecución

$ cd test/
-bash: cd: test/: Permission denied
$ chmod -R +x test
$ cd test/
[papso@centos-01 test]$

B. chmod u = rx

Puede cambiar los permisos del propietario del usuario con = operador seguido del permiso. Este operador reemplaza los últimos permisos por los permisos más nuevos. Por ejemplo

$ ls -ld test/
drwxrwxr-x 2 papso papso 4096 May 15 20:18 test/

Puede ver que el propietario del usuario tiene la w permiso. Ahora apliquemos el permiso a continuación

$ chmod -R u=rx test
$ ls -ld test/
dr-xrwxr-x 2 papso papso 4096 May 15 20:18 test/

C. chmod g + w, buey

Es posible agregar permiso a una entidad y eliminar (- operador) permiso a otra entidad en un solo comando. Por ejemplo, agregaremos permiso de escritura a la entidad de grupo y eliminaremos solo el permiso de ejecución para los demás

# chmod g+w,o-x hello
# ls -l hello 
-rwxrwxr-- 1 root root 66 May 15 20:12 hello

2. Ejemplos de permisos de chmod numérico u octal

También puede utilizar el modo numérico (4, 2, 1) cuando desee establecer permisos. Pero con este modo, usa tres dígitos y necesita calcular el valor de cada entidad para establecer los buenos permisos.

una. chmod 755

Si desea establecer un permiso para un directorio de modo que el usuario pueda leer, escribir y ejecutar el directorio, el grupo y los demás solo deben poder leerlo y ejecutarlo, el permiso debe ser como drwxr-xr-x. Ahora podemos encontrar el valor octal para usar

Para parte del usuario -> rwx = 4 + 2 + 1 = 7
Para Grupo -> rx = 4 + 0 + 1 = 5
Para otros -> rx = 4 + 0 + 1 = 5

En algunos casos, es el permiso predeterminado cuando crea una carpeta.

# chmod -R 755 folder1/
# ls -ld folder1/
drwxr-xr-x 2 root root 4096 May 16 01:54 folder1/

Es posible combinar el comando chmod con otro comando. por ejemplo, encontraremos todos 777 directorios de permisos y establecer permisos para 755.

# find /home -type d -perm 777 -print -exec chmod -R 755 {} ;
/home/papso/script-test/folder1
/home/papso/course
/home/patrick/toto

B. chmod 754

Es posible hacer que un programa sea legible por el otro para limitar el peligro, dar permiso de lectura y ejecución al grupo y todo el permiso al usuario.

# chmod 754 hello

Es posible establecer el permiso para todos los archivos de script en la carpeta actual suponiendo que haya dado la extensión .sh a estos archivos

# chmod 754 *.sh

C. chmod 640

Si desea establecer el permiso de un archivo de modo que el usuario pueda leer y escribir el archivo, el grupo debe poder leer el archivo y otros no deben tener acceso al archivo, el permiso debe ser como -rw-r-----.

# chmod 640 bootstrap

Encontraremos todo 777 archivos de permisos y use el comando chmod para establecer permisos para 640.

# find /home -type f -perm 0777 -print -exec chmod 640 {} ;
/home/papso/script
/home/papso/script-test/recovery
/home/patrick/compta/finances

3. Ejemplos de permisos chmod de bits especiales

Podemos usar SUID, GUID y sticky bits para aplicar un permiso especial en el archivo de Linux con el comando chmod. Veremos algunos ejemplos a continuación.

una. chmod u + sy chmod 4655

Puede permitir que cualquier usuario ejecute un programa como si fuera el propietario del usuario con el permiso SUID. Puede utilizar el modo simbólico de la siguiente manera

# chmod u+s hello
# ls -l hello 
-rwsr-xr-x 1 root root 66 May 15 20:16 hello

Si desea establecer el permiso con el modo numérico, tendrá cuatro dígitos y debe comenzar con el valor SUID (4) seguido del conjunto de tres para establecer el permiso para el archivo como se muestra a continuación

# chmod 4655 hello

B. chmod + t y chmod 1777

Ahora evitaremos que los usuarios eliminen el archivo del otro usuario con el bit adhesivo. Solo se establece en una carpeta, no en un archivo. Supongamos que la carpeta ya tiene todos los permisos aplicados a cualquier entidad. Puedes usarlo de la siguiente manera

$ chmod +t test1

Para usar el método numérico, debemos comenzar con el valor del bit adhesivo numérico (1) seguido por el conjunto de tres para establecer

$ chmod 1777 -R test1

Comprobemos el resultado

$ ls -ld test1
drwxrwxrwt 2 papso papso 4096 May 16 18:54 test1

Ahora se registrará como usuario patrick e intentaremos eliminar un archivo

# su patrick
[patrick@centos-01 test1]$ ls -l proj
-rwxrwxrwx 1 papso papso 0 May 16 19:00 proj
$ rm file
rm: cannot remove ‘file’: Operation not permitted

Puede ver que a pesar de todos los permisos rwxrwxrwx, Patricio el usuario no pudo borrar el archivo de papso

C. chmod g + sy chmod 2664

Puede establecer el permiso SGID para establecer la propiedad de grupo predeterminada en los archivos y subdirectorios creados en ese directorio. Por ejemplo, si tiene un entorno de grupo compartido, esto no es muy útil, porque nadie más podrá modificar los archivos que está creando, incluso si son miembros del mismo grupo.

$ chmod g+s rh_department
$ ls -ld rh_department/
drwxrwsr-x 2 papso papso 4096 May 16 20:19 rh_department/

El modo numérico del permiso SGID se establece a continuación

$ chmod 2755 rh_departement

Conclusión

Al usar chmod, puede establecer permisos para usuarios, grupos y otros. Puede utilizar este comando en dos modos: modo simbólico (modo relativo) y modo numérico (modo absoluto). En modo absoluto, se utilizan tres o cuatro dígitos (dependiendo del bit especial o no) para configurar los permisos básicos y recuerda que debes calcular el valor que necesitas.

Leer también:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar