Administración de Archivos y Directorios#
Permisos GNU/Linux#
Por diseño GNU/Linux es un sistema operativo multi usuario, esto quiere decir que varios usuarios pueden acceder a archivos y directorios, pero seria un problema si todos los usuarios pudieran modificar cualquier archivos del sistema operativo, incluso los que no les pertenecen.
Linux tiene implementada una solución para el escenario antes descrito, y se asegura que un archivo o directorio pueda ser accedido, modificado y ejecutado unicamente por los usuarios deseados.
Básicamente Linux decide que archivo puede ser accedido y por quien puede ser accedido, tomando en cuenta 2 factores:
- El usuario dueño del archivo.
- Los permisos del archivos o directorio.
Propiedad de Archivos o Directorios#
Cada archivo y directorio en Linux tiene 3 tipos de dueños:
- Usuario
- El usuario es el dueño del archivo, cuando creamos un archivo o directorio nuevo automáticamente nos convertimos en los dueños del mismo.
- Grupo
- Cada usuario en Linux pertenece al menos a un grupo, un grupo consiste en muchos usuarios.
- Grupo de Usuario
- Es el grupo al que el usuario pertenece desde el momento de su creación.
- Grupos Adicionales
- Son aquellos grupos preexistentes o nuevos, que no son el grupo de usuario por defecto, pero pueden ser asignados a cualquier usuario.
- Otros
- Son todos los demás usuarios distintos al dueño o grupo de un archivo o directorio.
Permisos de Archivos o Directorios#
Cada archivo o directorio en Linux tiene los siguientes 3 permisos, para cada tipo de dueño (usuario, grupo, otros)
| Permiso | Archivo | Directorio |
|---|---|---|
| Read/Lectura | Permite ver o copiar el contenido. | Permite listar los archivos y copiarlos desde el mismo directorio. |
| Write/Escritura | Permite modificar el contenido. | Permite agregar o eliminar archivos dentro del directorio (requiere permisos de ejecución). |
| Execute/Ejecutar | Permite ejecutar el archivo | Permite acceder al directorio |
Cambiando Permisos#
Para cambiar permisos necesitamos hacer uso del comando chmod, que hace referencia a change mode.
Los permisos en Linux se representan de 2 formas:
Modo Númerico#
Se representan a los 3 tipos de dueños con los números de cada permiso.
| Permiso | Valor |
|---|---|
| Lectura | 4 |
| Escritura | 2 |
| Ejecución | 1 |
| Sin Permiso | 0 |
Sintaxis
Modo Simbólico#
Se representan a los 3 tipos de dueños haciendo uso de las siguientes letras:
| Dueño | Simbolo |
|---|---|
| Usuario | u |
| Grupo | g |
| Otros | o |
| Todos | a |
| Permiso | Valor |
|---|---|
| Lectura | r |
| Escritura | w |
| Ejecución | x |
| Sin Permisso | - |
Para indicar si se quiere agregar o eliminar un permiso se usan los siguientes símbolos matemáticos:
| Simbolo | Descripción |
|---|---|
| + | Agregar permisos. |
| – | Eliminar permisos. |
| = | Sobrescribir o Igualar los permisos existentes. |
Sintaxis
Recurso en Linea para calculo de permisos chmod online
Permisos por defecto#
Todos los archivos y directorios dentro de GNU/Linux tienen un valor por defecto al momento de su creación, este valor es dado por el parámetro del modo de creación de archivos (umask).
umask#
El comando umask es usado nos permite manipular los permisos(modos) por defecto de los archivos y directorios, es un numero octal de 4 digitos.
/etc/profile#
En el archivo /etc/profile encontraremos la configuración por defecto del parametro umask, que por defecto es 002.
El anterior parametro significa la ausencia de los permisos de escritura para otros(referncia a los 3 tipos de dueños).
Cambiando el Dueño de un Archivo#
Para cambiar el usuario o grupo dueño de un archivo haremos uso del comando chown, que hace referencia a change owner.
Sintaxis
