Última actualización: junio 12, 2022
2.5.2.5 Práctica de laboratorio: Autenticación, autorización y contabilización (versión para el instructor)
Nota para el instructor: El color de fuente rojo o las partes resaltadas en gris indican texto que aparece en la copia del instructor solamente.
Objetivos
- Ante una situación, seleccione la autenticación, autorización o el control de acceso adecuado
- Instale y configure los controles de seguridad al realizar la administración de la cuenta, según las mejores prácticas
Parte 1: Agregar grupos, usuarios y contraseñas en un sistema Linux
Parte 2: Verificar usuarios, grupos y contraseñas
Parte 3: Utilizar permisos simbólicos
Parte 4: Permisos absolutos
Aspectos básicos/situación
Usted realizará las prácticas de seguridad del host usando la línea de comandos de Linux al hacer las siguientes tareas:
- Cómo agregar grupos, usuarios y contraseñas
- Cómo verificar grupos, usuarios y contraseñas
- Cómo establecer permisos simbólicos
- Cómo establecer permisos absolutos
Recursos necesarios
- Computadora con sistema Ubuntu 16.0.4 LTS instalado en una máquina virtual de VirtualBox o VMware.
Parte 1: Agregar grupos, usuarios y contraseñas en un sistema Linux
En esta parte, agregará usuarios, grupos y contraseñas a la computadora de host local.
Paso 1: Abra una ventana de terminal en Ubuntu.
a. Inicie sesión en Ubuntu con las siguientes credenciales:
Usuario: cisco
Contraseña: password
b. Haga clic en el icono de terminal para abrir una terminal.
Paso 2: Aumente los privilegios al nivel de root introduciendo el comando de sudo su. Introduzca la contraseña «password» cuando se le solicite.
cisco@ubuntu:~$ sudo su
Paso 3: Agregue un nuevo grupo llamado HR al introducir el comando groupadd HR.
root@ubuntu:/home/cisco# groupadd HR
Parte 2: Verificar usuarios, grupos y contraseñas
Paso 1: Verifique que se haya agregado el nuevo grupo al archivo de lista de grupos, introduciendo el comando cat /etc/group.
root@ubuntu:/home/cisco# cat /etc/group
El nuevo grupo HR se agregará a la parte inferior del archivo /etc/group con una ID de grupo de 1005.
Paso 2: Agregue un nuevo usuario llamado Jenny.
root@ubuntu:/home/cisco# adduser jenny
a. Cuando se le solicite una contraseña nueva, escriba lasocial. Presione Enter.
b. Cuando se le pregunte nuevamente, escriba lasocial. Presione Enter.
c. Cuando se le solicite un nombre completo, escriba Jenny. Presione Enter.
d. Para el resto de las configuraciones, presione Enter hasta que se le pregunte si la información es correcta.
e. Escriba Y de yes (sí) y presione Enter.
Paso 3: Coloque el usuario Jenny en el grupo R. H.
root@ubuntu:/home/cisco# usermod –G HR jenny
Paso 4: Agregue otro usuario nuevo llamado Joe.
root@ubuntu:/home/cisco# adduser joe
a. Cuando se le solicite una contraseña nueva, escriba tooth. Presione Enter.
b. Cuando se le pregunte nuevamente, escriba tooth. Presione Enter.
c. Cuando se le solicite un nombre completo, escriba Joe. Presione Enter.
d. Para el resto de las configuraciones, presione Enter hasta que se le pregunte si la información es correcta.
e. Escriba Y de yes (sí) y presione Enter.
f. Coloque el usuario Joe en el grupo de HR.
root@ubuntu:/home/cisco# usermod –G HR joe
Paso 5: Verifique los usuarios creados recientemente en el archivo passwd.
root@ubuntu:/home/cisco# cat /etc/passwd
Paso 6: Vea los usuarios creados en el archivo shadow.
root@ubuntu:/home/cisco# cat /etc/shadow
Parte 3: Utilizar permisos simbólicos
Paso 1: En el sistema Ubuntu, mantenga presionadas las teclas CTRL+ALT+F1 hasta que la pantalla cambie a la terminal tty1.
Nota: Si no puede usar la terminal tty1, regrese a la interfaz gráfica de usuario (GUI) del host con las teclas CTRL+ALT+F7 y abra una ventana de terminal en la GUI del sistema operativo Ubuntu. En el intérprete de comandos, ingrese su –l jenny e introduzca la contraseña lasocial. Proceda con el Paso 4.
cisco@ubuntu:~$ su –l jenny
Nota: Si las teclas CTRL+ALT+F7 no funcionaron, intente con las teclas CTRL+ALT+F8.
Paso 2: Una vez en la pantalla de inicio de sesión de la terminal, escriba jenny y presione Enter.
Paso 3: Cuando se le solicite la contraseña, escriba «lasocial» y presione Enter.
Paso 4: Si inicia sesión correctamente, verá el indicador jenny@ubuntu:~$ .
Debido a que no iniciamos sesión como el usuario root (superusuario), se muestra un símbolo del dólar en lugar del # que se mostraría si iniciáramos sesión como el usuario raíz.
Paso 5: Vea su directorio actual.
jenny@ubuntu:~$ pwd
Paso 6: Retroceda un nivel en el directorio/home.
jenny@ubuntu:~$ cd ..
Paso 7: Enliste todos los directorios y sus permisos.
jenny@ubuntu:/home$ ls -l
El sistema operativo Linux tiene un total de 10 letras o guiones en los campos de permiso:
- El primer campo es un guión para un archivo y una d para un directorio
- Los campos del segundo al cuarto son para el usuario
- Los campos del quinto al séptimo son para el grupo
- Los campos del octavo al décimo son para otros (cuentas diferentes de las del grupo)
Paso 8: Ingrese a la carpeta de Joe como Jenny al escribir el comando cd joe.
jenny@ubuntu:/home$ cd joe
Observe que pudimos ingresar a la carpeta home de Joe.
jenny@ubuntu:/home/joe$ cd ..
Paso 9: Mantenga presionadas las teclas CTRL+ALT+F2 para cambiar a otra sesión de terminal (tty2).
Paso 10: Inicie sesión como usuario root con la contraseña «secretpassword».
Nota: Si no puede usar terminal tty2, vuelva a la interfaz gráfica de usuario (GUI ) del host con las teclas CTRL+ALT+F7 y abra una ventana de terminal en la GUI del sistema operativo Ubuntu. En el intérprete de comandos, ingrese sudo -i e introduzca la contraseña password.
Paso 11: Cambie al directorio /home.
root@ubuntu:~# cd /home
Paso 12: Cambie el permiso de «otros» en la carpeta de Joe haciéndolo no ejecutable
root@ubuntu:/home# chmod o-x joe
Paso 13: Enliste los directorios una vez más con sus permisos respectivos.
root@ubuntu:/home# ls -l
Observe que ahora aparecen dos guiones en el campo “otros” para la carpeta de Joe.
Paso 14: Mantenga presionadas las teclas CTRL+ALT+F1 para volver a la otra sesión de terminal (tty1). Asegúrese de estar viendo el siguiente indicador de comando:
jenny@ubuntu:/home$.
Paso 15: Intente volver a ingresar a la carpeta de Joe.
jenny@ubuntu:/home$ cd joe
Observe que no tenemos los permisos para hacerlo.
La siguiente tabla muestra ejemplos de otras maneras en que se puede utilizar el comando chmod:
comando chmod | Resultados |
---|---|
chmod u+rwx | Agrega permisos de lectura, escritura y ejecución para el usuario |
chmod u+rw | Agrega permisos de lectura y escritura para el usuario |
chmod o+r | Agrega permisos de lectura para otros |
chmod g-rwx | Elimina permisos de lectura, escritura y de ejecución para el grupo |
Paso 16: Escriba «exit» y luego presione Enter para salir de la sesión de terminal.
Parte 4: Permisos absolutos
Paso 1: Inicie sesión como usuario Joe con la contraseña tooth mientras se encuentra en la terminal tty1.
Nota: si no puede usar la terminal tty1, regrese a la interfaz gráfica de usuario (GUI ) del host con las teclas CTRL+ALT+F7 y abra una ventana de terminal en la GUI del sistema operativo Ubuntu. En el intérprete de comandos, introduzca sudo –l joe y luego introduzca la contraseña tooth.
Paso 2: Muestre su directorio de trabajo actual.
joe@ubuntu:~$ pwd
Paso 3: Retroceda un nivel de directorio al directorio/home.
joe@ubuntu:~$ cd ..
Paso 4: Enliste todos los directorios y sus permisos en el directorio de trabajo actual.
joe@ubuntu:/home~$ ls -l
Observe que la carpeta de Joe está configurada para que “otros” no puedan acceder a la carpeta.
Otra manera de asignar permisos además de utilizar permisos simbólicos es utilizar permisos absolutos. Los permisos absolutos usan un número de tres dígitos octal para representar los permisos de propietario, grupo y de otros.
La siguiente tabla describe cada valor absoluto y los permisos correspondientes:
Número | Permisos |
---|---|
7 | Lectura, escritura y ejecución |
6 | Lectura y escritura |
5 | Lectura y ejecución |
4 | Lectura |
3 | Escritura y ejecución |
2 | Escritura |
1 | Ejecución |
0 | Ninguna |
Al escribir el comando chmod 764 examplefile, se asignarán los siguientes permisos al archivo example:
- El usuario recibirá permisos de lectura, escritura y ejecución
- El grupo recibirá permisos de lectura y escritura
- Otros obtendrán acceso de lectura
Explique cómo 764 representa estos permisos:
Dígito | Equivalente binario | Permiso |
---|---|---|
7 (usuario) | 111 | 1-Lectura 1-Escritura 1-Ejecución |
6 (grupo) | 110 | 1-Lectura 1-Escritura 0-No ejecución |
4 (otros) | 100 | 1-Lectura 0-No escritura 0-No ejecución |
Paso 5: Modifique el campo «otros» de la carpeta de Joe para que otros puedan leer y ejecutar, pero no escribir manteniendo el campo «usuario» con los permisos para leer, escribir y ejecutar.
joe@ubuntu:/home$ chmod 705 joe
Paso 6: Enliste los permisos de archivo del directorio actual para ver que los cambios absolutos se hayan realizado.
joe@ubuntu:/home$ ls -l
Paso 7: Cambie al directorio /home/joe.
joe@ubuntu:/home$ cd joe
Paso 8: Cree un archivo de texto simple llamado test.txt usando touch.
joe@ubuntu:~$ touch test.txt
a. Escriba exit y luego presione Enter para salir de la sesión de Joe.
b. En la terminal tty1, vuelva a iniciar sesión como jenny e ingrese la contraseña lasocial. Presione Entrar.
Nota: si no puede usar la terminal tty1, regrese a la interfaz gráfica de usuario (GUI) del host con las teclas CTRL+ALT+F7 y abra una ventana del terminal en la GUI del sistema operativo Ubuntu. En el intérprete de comandos, ingrese su –l jenny e introduzca la contraseña lasocial.
cisco@ubuntu:~$ su –l jenny
Paso 9: Cambie al directorio /home.
jenny@ubuntu:~$ cd /home
Paso 10: Enliste todos los directorios con sus permisos respectivos.
jenny@ubuntu:/home$ ls -l
Paso 11: Cambie al directorio /home/joe y enliste el contenido del directorio.
jenny@ubuntu:/home$ cd joe jenny@ubuntu:/home/joe$ cd ..
Observe que podemos ingresar a la carpeta de Joe y leer los archivos dentro del directorio. Podemos ver el archivo test.txt.
Paso 12: Intente crear un archivo.
jenny@ubuntu:/home/joe$ touch jenny.txt
Observe que no tenemos permiso para crear el archivo.
Paso 13: Cierre todas las ventanas restantes.