En Linux tenemos la oportunidad de dar o quitar permisos de acceso a directorios o archivos. Los permisos en Linux son uno de los pilares de seguridad más importantes, debido a que gracias a ellos podemos evitar el acceso no deseado por parte de personas inescrupulosas que desean ver u obtener información personal de nuestro ordenador, pero también es de gran importancia en la administración de servidores en Linux donde podremos limitar el acceso a los archivos o directorios y evitar que sean vistos, editados o eliminados sin nuestro consentimiento, esto es especialmente útil en el manejo servidores debido a que múltiples usuarios tendrán acceso a los recursos del sistema sea hardware o software del sistema como programas entre otros.
Como se ha visto, la asignación o eliminación de permisos a directorios o archivos en Linux es de gran importancia para la seguridad de la información y el sistema, es por ello que en GuiaLinux te mostraremos como dar permisos de lectura, escritura y ejecución a los directorios y archivos. No obstante, debemos tener en cuenta algunos factores antes de entrar en el tema, en Linux existe un superusuario, administrador o root el cual tiene todos los permisos necesarios para crear o eliminar usuarios, directorios, entre otros, pero también la posibilidad de dar o quitar permisos en Linux.
En Linux existen tres niveles de permisos que se pueden diferenciar fácilmente y los definiré brevemente:
- Permisos de propietario: Es el usuario que creo el archivo o directorio.
- Permisos de Grupo: Contienen múltiples usuarios, lo que hace más fácil el asignar permisos a todos los pertenecientes a dicho grupo.
- Permisos del resto de usuarios o llamado otros: Son los demás usuarios los cuales pertenecen a otros grupos y también se les puede dar o quitar permisos.
En Linux los archivos o directorios están identificados por 10 caracteres a los cuales se les da el nombre de máscara. Estos caracteres indican el tipo de archivo, propietario, grupo y otros, para entender esto de mejor manera los separaremos en tres grupos:
drwxrwxr-x 2 guialinux guialinux
d-rwx-rwxr-x 2 guialinux guialinux
0- 1 - 2 - 3
En nuestro caso es un directorio(d)
, a continuación se muestran los 3 grupos de izquierda a derecha:
- Primero: Propietario
- Segundo: Grupos
- Tercero: Otros
El carácter 0 puede variar según el tipo, ya sea un directorio o archivo a continuación se mostraran 2 tablas con los permisos y su significado.
[su_spoiler title=»Significado del primer caracter en los permisos de directorios o archivos en Linux» icon=»arrow»]
El primer carácter puede ser:
Permiso | Significado |
– | Archivo |
d | Directorio |
b | Archivo de bloques especiales (Archivos especiales de dispositivo) |
c | Archivo de caracteres especial (Dispositivo tty, impresoras) |
l | Archivo de vinculo o enlace (soft/symbolic link) [Acceso Directo] |
p | Archivo especial de cauce (pipe o tubería) |
[/su_spoiler]
[su_spoiler title=»Significado de los permisos rwx en directorios o archivos de Linux» icon=»arrow»]
Permiso | Significado | Para Archivos | Para Directorios |
– | Sin permisos | Sin permisos | Sin permisos |
r | Read o Lectura en español | Permite ver el contenido del archivo | Permite ver listar que directorios o archivos contiene |
w | Write o Escritura en español | Permite modificar el archivo o su contenido | Permite crear, borrar, modificar Directorios o archivos |
x | Ejecución | Ejecuta el archivo como si fuera un programa. | Permite examinar el contenido del directorio, copiar archivos de o hacia él. Si además se dispone de los permisos de escritura y lectura, se podrán realizar todas las operaciones mencionadas anteriormente. |
[/su_spoiler]
[su_note note_color=»#68ff66″]Es importante saber que sin los permisos de ejecución («x») no podremos abrir o acceder a un directorio ni por la interfaz gráfica ni por terminal.[/su_note]
¿Como asignar, cambiar o eliminar permisos a un fichero o directorio en Linux?
Para cambiar los permisos de un directorio o fichero usamos el comando chmod
seguido de los permisos de Lectura, Escritura y Ejecución (rwx). Existen dos maneras de ejecutar el comando chmod las cuales son:
Asignar, cambiar o eliminar permisos a directorios y archivos simbólicamente:
Para asignar permisos simbólicamente usaremos los caracteres o la mascará rwx
especificándole a quien se le asignaran los permisos si al propietario (u), al grupo (g), otros (o) de la siguiente manera:
chmod [permisos] [Archivo o Directorio]
Ejemplos:
chmod u+r+w+x GuiaLinux/
// Permisos a archivos
chmod u+r+w+x Guias.txt
En este caso asignamos todos los permisos (Lectura, escritura, ejecución) al dueño del directorio llamado GuiaLinux
y al archivo Guias
.
Si deseamos quitar permisos a un directorio de manera simbólica, lo hacemos usando el (-) de Quitar en vez del (+)de agregar, especificando nuevamente a quien se le retiraran dela siguiente manera:
chmod [permisos] [Archivo o Directorio]
Ejemplos:
chmod u+r-w+x GuiaLinux/
// Permisos a archivos
chmod u+r-w+x Guias.txt
En este caso retiraremos el permiso de escritura al dueño del directorio llamado GuiaLinux/
y al archivo: Guias.txt
pero dejando los permisos de lectura y ejecución.
Asignar, cambiar o eliminar permisos a directorios y archivos numéricamente (octal):
En Linux podemos asignar permisos de manera octal o numérica, para ello debemos conocer el significado de cada uno de ellos y sus combinaciones, ya que cada número representa un permiso para cada tipo de usuario, grupo y otros para dar o quitar permisos en Linux de manera numérica lo hacemos de la siguiente manera:
chmod [permisos] [Archivo o Directorio]
Ejemplos:
chmod 700 GuiaLinux/
// Permisos a archivos
chmod 700 Archivo.txt
En este caso asignamos los permisos 700 (rwx) únicamente al propietario, los grupos y otros no tienen permisos asignados, puedes usar esta calculadora chmod para saber como asignar los permisos. Para entender mejor que significa cada número y sus posibles combinaciones te presentamos dos tablas que los describen:
[su_spoiler title=»Descripcion de los valores y permisos a directorios o archivos de Linux» icon=»arrow»]
Permiso | Valor numérico (octal) | Significado |
— | 0 | Sin permisos. |
– – x | 1 | Permisos de Ejecución. |
– w – | 2 | Permisos de Escritura. |
– w x | 3 | Permisos de lectura y Ejecución. |
r – – | 4 | Permisos de Lectura. |
r – x | 5 | Permisos de Lectura y Ejecución. |
r w – | 6 | Permisos de Lectura y Escritura |
r w x | 7 | Todos los permisos (Lectura, Escritura, Ejecución). |
[/su_spoiler]
Ahora conozcamos la combinación de estos valores y su significado. En Linux se pueden dar permisos de manera numérica a partir de un número de tres cifras, los cuales darán los permisos requeridos, donde el primer número es el usuario o propietario, el segundo número son los permisos de grupo y el tercer número son los permisos a otros. A continuación presentamos una tabla con los significados y posibles permisos que pueden darse a un archivo o directorio en Linux:
[su_spoiler title=»Descripcion de los permisos numericos a directorios o archivos de Linux» icon=»arrow»]
Permiso | Valor Numérico | Descripción |
-rw——- | 600 | – El propietario puede leer y escribir. – Los grupos y otros no tienen permisos asignados. |
-rw-r–r– | 644 | – El propietario puede leer y escribir. – Los grupos y otros pueden Leer. |
-rw-rw-rw- | 666 | – El propietario, grupos y otros pueden leer y escribir. |
-rwx—— | 700 | – El propietario puede leer, escribir y ejecutar – Los grupos y otros no tienen permiso alguno. |
-rwx–x–x | 711 | – El propietario puede leer, escribir y ejecutar – Los grupos y otros pueden ejecutar |
-rwxr-xr-x | 755 | – El propietario puede leer, escribir y ejecutar. – Los grupos y otros pueden leer y ejecutar. |
-rwxrwxrwx | 777 | – El propietario, grupos y otros pueden leer, escribir y ejecutar. |
[/su_spoiler]
[…] Linux cada archivo tiene permisos específicos asignados, un usuario propietario y un grupo. Debido a esto podemos usar el comando […]
[…] Puede interesarte: Como cambiar o asignar permisos a directorios y archivos en Linux […]