Una de las ventajas de Linux es la flexibilidad que ofrece al trabajar con comandos a través de la consola. Aunque para aquellos que se acostumbraron a trabajar a través de interfaces gráficas pueda resultar un poco molesto, la realidad es que puede facilitar muchas tareas.
En lo que respecta a la seguridad, existe una serie de comandos de Linux, la mayoría ejecutables en modo de superusuario, que deberíamos tener presentes para gestionar la seguridad de nuestro sistema operativo. A continuación veremos de qué se trata cada uno junto a su sintaxis.
- Hacer copias de seguridad: El comando dd (Dataset Definition) es una herramienta muy sencilla que nos permite hacer copias de discos, particiones, archivos, o dispositivos, incluso se puede utilizar de formas alternativas como por ejemplo limpiar la información que contiene el disco.
En su sintaxis más básica se deben definir el objeto a copiar, el destino donde se va a duplicar la información y la tasa a la cual se realizará esta copia.
- Asignación de permisos: con el comando chmod se pueden manejar los permisos tanto de propietario, grupo o todos los usuarios del sistema sobre un archivo o carpeta del sistema. Teniendo en cuenta que los permisos que podemos asignar son de lectura (r), escritura (w) y ejecución (x) se puede utilizar este comando para asignar diferentes permisos a cada tipo de usuario que quiera utilizar el recurso. Podemos verlo a continuación:
Como se ven los permisos | Valor | Nivel de permisos |
- - - | 0 | Sin permisos |
- - x | 1 | Permiso de ejecución |
- w - | 2 | Permiso de escritura |
- w x | 3 | Permisos de escritura y ejecución |
r - - | 4 | Permiso 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 |
En la sintaxis del comando simplemente debemos definir los permisos y el archivo sobre el cual los vamos a establecer. Si se trata de una carpeta con varios archivos podemos utilizar "–R" para que la operación se aplique sobre todos los archivos contenidos.
- Permisos por defecto: con el comando umask se pueden establecer los permisos por defecto que van a ser asignados a los nuevos archivos y directorios que son creados por un proceso. En su sintaxis se definen los permisos que se van a enmascarar, al contrario de la anterior.
- Función hash: existen varios comandos que nos pueden ayudar a encotrar fácilmente el hash de un archivo en particular. md5sum y sha256sum son dos opciones para calcular, como es evidente, el MD5 y el SHA256 de un archivo en particular. Su sintaxis es bastante sencilla, simplemente seleccionando el archivo sobre el que queremos hacer el cálculo.
- Cambiar la clave: desde la consola podemos cambiar la clave de las cuentas de usuario utilizando el comando passwd. Un usuario normal puede cambiar su propia clave simplemente utilizando la siguiente sintaxis:
- Comparación de ficheros: con el comado diff podemos comparar dos ficheros para conocer cuáles son las diferencias entre ambos. La comparación la hace línea a línea y en su sintaxis simplemente debemos definir cuáles son los archivos a comparar.
- Usuarios conectados: si nuestro equipo es compartido el comando who nos puede resultar muy útil para conocer los usuarios que están conectados, por cuánto tiempo y desde dónde lo están haciendo.
- Diagnóstico de la computadora: hay algunos comandos particulares que nos pueden ayudar a identificar el estado actual de nuestra computadora. Por ejemplo, con free podemos conocer el espacio ocupado y libre en las unidades de almacenamiento y utlizando lscpu podemos obtener información acerca del procesador.
- Diagnósticos de procesos: Con el comando pstree podemos determinar cuáles son los procesos en ejecución en nuestra máquina. En conjunto con killall podemos finalizar alguno de ellos.
- Interfaces de red: A través de ifconfig podemos configurar todos los parámetros de nuestras interfaces de red, desde asignar direcciones IP y máscaras de red hasta activar o desactivar una interfaz particular.
Vale la pena recordar que muchos de estos comandos tienen opciones adicionales que pueden potenciar su uso o incluso agregar funcionalidades adicionales. Para conocer todas las opciones de cada uno, basta con agregar la instrucción "--help" que permitirá obtener más datos; o para una descripción más detallada, se puede anteponer la palabra "man" al uso del comando.