Conocer el sistema de archivos Linux es técnicamente obligatorio para todo administrador de redes, servidores o sistemas. Veamos un aspecto de este tema: los permisos.
Los permisos en un sistema de archivos Linux son un aspecto muy importante, pues nos permiten compartir o restringir información y acceso a nuestros recursos del sistema. Además, un mal manejo de los permisos puede provocar que algo no funcione bien.
Permisos en un sistema de archivos Linux
Utilizando el comando ls – l podemos ver los permisos de un determinado archivo o directorio. En el siguiente ejemplo tenemos un archivo llamado seguridad y mostramos sus permisos:
En el campo de tipo de archivos se pueden tener las siguientes opciones:
d | Directorio |
l | Enlace simbólico |
c | Dispositivo de carácter |
b | Dispositivo de bloques |
s | Conexiones locales |
p | Conexiones |
También hay que tomar en cuenta que si la x de propietario tiene una s significa que el bit de SetUid (4000) está activo. Algo similar pasa si la x del grupo tiene una s, indica que el bit se SetGid (2000) está activado. Ambas situaciones deben cuidarse. Estas opciones se utilizan para permitirle a un usuario ejecutar archivos binarios con privilegios root (privilegios elevados de administrador). Muchos atacantes analizan los sistemas para detectar archivos con estos bits activados y utilizarlos para tener acceso al sistema.
Vea más adelante en este mismo artículo cómo añadir un permiso SetUid
Comando Chmod
Utilizamos el comando chmod para modificar los permisos de un archivo o directorio.
Los códigos que necesitamos entender son los siguientes:
Código | Permiso | Valor octal |
r | Lectura | 4 |
w | Escritura | 2 |
x | Ejecución | 1 |
Éstos códigos se pueden sumar entre sí y obtener el permiso correspondiente. Es decir, si deseamos que el archivo tenga permiso de Lectura y Escritura el valor octal sería el 6.
Nos podemos guiar de la siguiente tabla para entender mejor:
Binario
r w x |
Valor octal | Permiso |
0 0 1 | 1 | Ejecución |
0 1 0 | 2 | Escritura |
0 1 1 | 3 | Escritura y Ejecución |
1 0 0 | 4 | Lectura |
1 0 1 | 5 | Lectura y ejecución |
1 1 0 | 6 | Lectura y escritura |
1 1 1 | 7 | Lectura, escritura y ejecución |
Utilizando este método, la forma de utilizar el comando chmod es la siguiente:
Chmod 600 seguridad.txt
Indica que cambiamos los permisos al archivo seguridad.txt: lectura y escritura para el propietario (el 6), sin permisos para el grupo (el 0) y sin permisos para los otros (el segundo 0).
Otra forma de utilizar el comando chmod es con los símbolos + , – , =
+ | Agrega permiso |
– | Elimina permiso |
= | Asigna permiso |
Si deseamos añadir el permiso de ejecución al propietario del archivo seguridad.txt el comando sería:
Chmod u+x seguridad.txt
Añadir y quitar permisos SetUid
El comando chmod para añadir permiso setUid a un archivo es:
chmod u+s seguridad.txt
y para eliminar el permiso:
chmod u-s seguridad.txt
En conclusión
El manejo de permisos en un sistema de archivos es un aspecto importante en la administración de un sistema, y por extensión en la administración de servidores y redes de datos. Linux permite hacerlo de forma muy sencilla, solo hay que acostumbrarse un poco a la interfaz. Como Ingeniero en Sistemas de seguro te encontrarás muchas veces con la tarea de cambiar los permisos a un archivo, por lo que aprender a realizarlo es un aspecto importante en tu formación profesional.
Deja tu comentario
Coméntanos algún comando chmod que utilices a menudo.
Tu comentario
opiniones