educación, informática y demás

GNU/Linux bash

Caso práctico comandos de bash

51. Crea un usuario llamado jesusrp cuya contraseña será ClaveRoot#20

Comando adduser. Nota: Es una tarea administrativa.

Vamos a echar un vistazo a la ayuda de adduser.

Como es una tarea administrativa tiene que ser ejecutada por root.

52. Muestra el contenido del fichero /etc/adduser.conf

Vamos a echar un vistazo a la ayuda de adduser.conf en la sección 5 de su página de manual.

Gracias al fichero adduser.conf podemos configurar el comportamiento por defecto del comando adduser.

Vamos a ver qué hay en /home

Vamos a echar un vistazo al contenido del directorio personal del usuario jesusrp.

Está vacío… posiblemente /etc/skel también esté vacío. El resto de directorios del entorno gráfico no se ha creado porque todavía no se ha iniciado sesión con este usuario en entorno gráfico.

53. Muestra el contenido del directorio esqueleto de cuentas de usuario del sistema, utilizado para crear directorios personales de nuevos usuarios.

Está vacío…

54. Nos gustaría configurar el sistema de forma que, cada vez que se cree una nueva cuenta de usuario, se creen dentro del directorio personal del usuario los siguientes directorios:

  • dev
    • src
    • bin
  • system
    • scripts
    • docs

Para conseguir esto tenemos que crear estas dos árboles de directorios dentro del directorio esqueleto /etc/skel.

Podríamos haber utilizado las llaves un poco mejor… aunque puede que resulte difícil de entender a primera vista

55. Crea una nueva cuenta de usuario con el nombre rosaam contraseña ClaveRoot#20.

Comando adduser.

56. Muestra el contenido del directorio personal de rosaam, por defecto se habrá creado dentro del directorio /home (variable DHOME en adduser.conf).

Aparece el árbol de directorios que hemos creado en /etc/skel

Vamos a echar un vistazo a los permisos de estos directorios. Para ello utilizaremos ls -l para mostrar un listado en formato extenso de los ficheros que contiene el directorio personal del usuario rosaam.

Si los comparamos con los permisos de los directorios en /etc/skel el comando adduser ha cambiado propietario y grupo de los ficheros copiados de /etc/skel para que pertenezcan al usuario.

57. Muestra información de permisos, propietario y grupos del directorio personal del usuario rosaam

Nos piden que mostremos permisos del directorio personal, no de su contenido.

Según los permisos configurados, solo el propietario del directorio, que es rosaam, puede escribir. Todos los usuarios del sistema pueden acceder para leer.

58. Crea un nuevo grupo llamado alumnos.

Comando addgroup.

Como no sabemos como funciona, consultamos su página de manual.

El comando una vez creado el grupo nos muestra información sobre el nuevo grupo, tanto el nombre como su GID (GROUP IDENTIFIER, identificador de grupo)

59. Añade los usuarios rosam y jesusrp al grupo alumnos.

Comando adduser.

Realmente adduser y addgroup son intermediarios o interfaces de otros comandos de más bajo nivel.

60. Muestra información de identificación del usuario jesusrp.

Comando id.

Consultamos la ayuda del comando id.

Vamos a ver también el de rosaam

¿Dónde se guarda toda esta información de usuarios y grupos en el sistmea?

61. Muestra las cinco últimas líneas del fichero /etc/passwd

Comando tail.

¿Qué ves ahí?

Este fichero guarda información de las cuentas de usuario del sistema.

62. Muestras las cinco últimas líneas del fichero /etc/group?

¿Qué ves ahí?

El fichero /etc/group es un fichero de texto plano que almacena la configuración de cuentas de grupo de nuestro sistema.

63. Consulta la página de manual del fichero de configuración passwd

Vamos a ejecutar el comando man con passwd como parámetro.

Esto no es lo que queríamos consultar. Vamos a ir al final del documento.

Vamos a consultar la sección 5 de la página de manual de passwd.

Según la ayuda cada línea de este fichero guarda información de una cuenta de usuario del sistema.

Cada línea, por tanto, es un registro compuesto por siete campos delimitados por el caracter especial «:». Es decir, los : separa un campo de otro.

Vamos a mostrar la última línea de este fichero.

Primer campo. Nombre de la cuenta de usuario. rosaam

Segundo campo. Contraseña encriptada. Si aparece una x tiene una contraseña que está encriptada, pero esto guardad en otro fichero protegido /etc/shadow.

Tercer campo. Identificador numérico del usuario. 1003.

Cuarto campo. Identificador numérico del grupo principal del usuario 1007.

Quinto campo. Información extra, comentarios, información administrativa.

Sexto campo. Ruta del directorio personal del usuario.

Séptimo campo. Ruta del shell que utilizará esta cuenta

64. Consulta la página de manual del fichero de configuración group

Cada línea es un registro que define un grupo. Cada registro tiene cuatro campos delimitados por el caracter especial «:»

Vamos a mostrar la última línea de este fichero y vamos a analizarla.

Según esta información jesusrp y rosaam son miembros del grupo alumnos.

65. Añade el usuario monicamz al sistema.

Comando adduser.

Vamos a comprobar que se ha creado.

66. Añade el grupo sysdev al sistema

Comando addgroup.

67. Añade los usuarios jesusrp y monicamz al grupo sysdev

Comando adduser.

Vamos a echar un vistazo a la línea de configuración de /etc/group

68. Añade el usuario evaha al sistema

Vamos a comprobar que se ha creado correctamente.

Hemos mostrado los últimos cinco usuarios que se han creado en el sistema.

69. Añade el usuario evaha al grupo alumnos

Vamos a utilizar el comando grep para mostrar las líneas del fichero /etc/group en las que aparece la cadena de texto alumnos.

Muestra la línea del fichero /etc/group en la que aparece la cadena de texto alumnos.

Por ejemplo, si buscamos la cadena jesusrp dentro del fichero de grupos nos mostrará la siguiente información

Ahora somos nosotros los que tenemos que procesar esa información, en este caswo vemos que en la primera línea se muestra información del grupo jesusrp, puesto que la cadena jesusrp está en el primer campo del registro.

En las otras dos líneas, como la cadena aparece en el cuarto campo de los dos registros, sabemos que el usuario jesusrp pertenece a estos dos grupos: alumnos y sysdev.

70. Elimina el usuario evaha del grupo alumnos

Comando deluser.

Miramos la ayuda

Algunos detalles de la ayuda…

71. Elimina la cuenta de usuario evaha del sistema

Comando deluser.

El grupo primmario homonimo de evaha, que se creó cuando creamos la cuenta de usuario, no tiene más miembnros ni lo vamos a volver a usar. Por tanto, deberíamos borrarlo.. no lo habrá borrado ya el comando?

Vamos a bucarlo en el fichero de grupos.

Lo ha borrado automáticamente.

72. Deshabilita la cuenta de usuario monicamz

Comando passwd.

Antes de hacer nada, vamos a mostrar la línea de configuración de la cuenta de monicamz en el fichero de cuentas de usuario del sistema. Este fichero es /etc/passwd

Vemos que aparece una x en el campo contraseña. Esto nos indica que la cuenta de usuario tiene una contraseña cifrada almacenada en el sistema.

Ahora vamos a deshabilitar la cuenta con el comando passwd.

Vamos a echar un vistazo a la contraseña cifrada de la cuenta de monicamz en el fichero /etc/shadow. Este fichero está protegido así que tenemos que consultarlo con la cuenta de administrador, con un sudo delante.

73. Habilita la cuenta de monicamz

74. Cambia la contraseña del usuario jesusrp. Ahora tendrá como contraseña jesusrp57

Primero vamos a mostrar la información de contraseña de la cuenta de usuario de jesusrp. Para ello tenemos que consultar el fichero de contraseñas /etc/shadow, con el usuario root: sudo.

En esta línea aparece la configuración de la contraseña del usuario jesusrp.

Ahora vamos a cambiarla

Vamos a mostrar de nuevo la contraseña para ver si ha cambiado.

75. Muestra los permisos del fichero /etc/passwd, /etc/group y /etc/shadow

Comando ls con la opción -l.

Así no mola, porque hemos ejecutado tres comandos.

Vamos a usar las llaves…

76. Muestra la ayuda del fichero /etc/shadow

Comando man.

Consultamos la sección 5, de ficheros y formatos, de shadow.

77. Editando el fichero de cuentas de usuario, limpia la contraseña del usuario jesusrp de forma que no tenga ninguna contraseña

Necesitamos utilizar un editor de texto lanzado como root porque root es el único usuario que tiene permiso, por ser el propietario y por ser root, de escritura sobre el fichero /etc/shadow.

La contraseña de la cuenta de root está deshabilitada, no se puede iniciar sesión con el usuario root.

Buscamos la línea de jesusrp y borramos el segundo campo de su registro.

Al dejar el campo de contraseña vacío estamos indicando que no tiene contraseña de acceso.

Ahora salimos y guardamos o guardamos y salimos.

Vamos a comprobarlo iniciando sesión desde una terminal virtual

No pide contraseña

Vamos a probarlo ahora cambiando de usuario con el comando su.

No nos ha pedido contraseña. Vamos a salir de la sesión de jesusrp

Por mera curiosidad, vamos a intentar cambiar de usaurio al usuario marinapg para ver que si nos pide contraseña cuando usamos el comando su.

Vamos a quitarle la contraseña del usuario marinapg con el comando passwd.

Dejar una respuesta