Permisos y administración de archivos y carpetas en linux

GNU/Linux archivos y carpetas
En Linux los archivos y las carpetas tienen asociados una serie de permisos que son: Lectura, Escritura y Ejecución. Estos permisos se asocian al usuario propietario, a los usuarios pertenecientas al mismo grupo al cual pertenece el usuario propietario y para el resto de usuarios, como cabe suponer si el usuario propietario no es root, el usuario root está por encima, de hecho es quien lo crea, modifica, da permisos y/o elimina.

26/02/2021 13:07:29 Update:26/02/2021 14:25:30

Lectura: (read) Permite acceder en modo sólo lectura, si es directorio ver los archivos que contiene y si es archivo ver su contenido.
Escritura: (write) Permite acceder y modificar, crear y borrar.
Ejecución: (execution) Permite ejecutar archivos como si fueran un programa.

Los caracteres atribuidos a los permisos son:
r quiere decir escritura y viene de Read
w quiere decir lectura y viene de Write
x quiere decir ejecución y viene de eXecute

Para cambiar los permisos se usa chmod,  acrónimo de change mode

si lista un directorio con el modificador l haciendo así >ls -l el sistema devolverá algo semejante a esto:



Podemos observar que a la izquierda de cada archivo hay  primero una linea horizontal mediana y luego nueve lineas más ocupadas o no, cuando están ocupadas quiere decir que se han otrorgado permisos si se miuestra la "barra" - quiere decir que no se han otrorgado, son 10 barras, la primera y luego tres grupos de tres.
Despejamos la duda de la primera, la primera cuando es un archivo se muestra la barra (-) si es un directorio se muestra una d en lugar de la barra tal y como se puede observar en la imagen.

Los tres grupos de tres:
El primer grupo de tres son los permisos para el propietario, el segundo grupo para los usuarios del mismo grupo que el propietario y el tercer grupo para el resto. El order de cada grupo de tres es :
1º Read
2º Write
3º Execute

por ejemplo,  los siguientes permisos:

-rwxr-xr-- = Empieza por - por lo tanto es un archivo y no un directorio. El propietario tiene todos los permisos R(ead) W(rite) (e)X(ecute), los miembros del grupo tienen permisos R - X ; es decir lectura y ejecución y el resto de usuarios R-- ; sólo lectura.


Por lo tanto, recopilemos:

Un archivo tiene tres conjuntos de permisos:

primero son los permisos del propietario
en segundo lugar, los permisos para el grupo propietario
por último, vienen los permisos para todos los demás.

Los permisos que se pueden aplicar son:
para acceso de lectura a un archivo (la capacidad de abrirlo y ver el contenido)

para acceso de escritura al archivo (la capacidad de cambiar el archivo o su contenido)

y, por último, para ejecutar el acceso al archivo (la capacidad de ejecutar el archivo como un programa)

Cada uno de estos permisos se puede permitir o denegar según sea necesario para cualquier archivo y se pueden configurar de manera diferente para el propietario, el grupo y todos los demás.

Nota: independientemente de los permisos establecidos, el usuario root siempre tiene acceso de lectura y escritura a cualquier archivo del sistema. Esto puede ser útil, ya que es posible establecer la propiedad y los permisos de modo que pueda eliminar su propio acceso a sus archivos y luego necesitar que el usuario root los restaure.

Cambio de permisos chmod

Para realizar los cambios de permisos de forma global se usa el comando chmod de la siguiente manera:

chmod 000 archivo o directorio
donde 000 va a ser el valor que asignemos

En los entornos Unix básicamente cada permiso tiene el siguiente valor:

Lectura: 4
Escritura: 2
Ejecución: 1

Usamos estos números de la siguiente manera,si deseamos establecer un permiso de escritura usaremos el 6 (4 + 2= Lectura + Escritura)

Si deseamos que un usuario pueda ejecutar usaremos el 7 (4 + 2 + 1= Lectura + Escritura + Ejecución)

Tenemos pues la siguiente tabla de valores:

0: Sin permisos
1: Ejecución
2: Escritura
3: Lectura y escritura
4: Lectura
5: Lectura y ejecución
6: Lectura y escritura
7: Lectura, escritura y ejecución

Aunque esta sea la mas usada, hay otras formas de asignar permisos como por ejemplo usar la notación octal o asignar un permiso de ejecución por ejemplo a un archivo concreto usando + para asignarlo y - para anularlo, por ejemplo:

chmod +x archivo asigna a archivo el permiso de ejecución
chmod -x archivo quita a archivo el permiso de ejecución
chmod u+w archivo asigna a archivo el permiso de escritura para el usuario propietario
chmod ug+r archivo asigna a archivo el permiso de lectura al propietario y a su grupo.

Como con muchos comandos y acciones en linux con trastear y leer se aprende como hacer la misma cosa de varios modos, cada uno elige su preferido.

Podría ser de Interés...

Linux un Kernel para GNU
Administrar servicios Linux - Listar - Ver Servicios Activos En Linux - Listar Procesos - Árbol de Procesos
Correr la TV como servicio del sistema
¿Cuál es la diferencia entre Linux y Windows?
Bubles, Iteraciones, en Bash Linux
Condicionalidad en el lenguaje Bash en Linux
Lectura de datos por consola en Bash Linux
Variables en el lenguaje Bash en Linux
Introducción al lenguaje Bash en Linux
como se administras usuarios en gnu/linux


www.compostela21.com
diariocompostela21@gmail.com
19/04/2024