Usuario y clave
En los sistema Unix, cada usuario posee un nombre de entrada al sistema o login y una clave o password; ambos datos se almacenan generalmente en el fichero /etc/passwd (hoy en día, por motivos de seguridad, las claves se encuentra almacenadas en el fichero /etc/shadow). Este archivo contiene una línea por usuario donde se indica la información necesaria para que los usuarios puedan conectarse al sistema y trabajar en él; los distintos campos de información se encuentran separados por el signo de dos puntos (:).
Al contrario de lo que mucha gente cree, Unix no trabaja con el nombre del usuario (login) para distinguirlo. Dentro el sistema operativo lo que realmente distingue a un usuario de otro, es su UID (User IDentifier); el login es algo que se utiliza principalmente para comodidad de las personas, obviamente es más fácil acordarse de un nombre de entrada como toni que de un UID como 2643, sobre todo si se tienen cuentas en varias máquinas, cada una con un UID diferente.
Para codificar las claves de acceso de los usuarios, los sistemas operativos Unix emplean un algoritmo de cifrado irreversible, por lo que, aún conociendo la clave codificada, no se podrá obtener nunca la clave original.
Si un usuario quiere cambiar su clave, debe usar el comando passwd:
$ passwd
Cambiando la contraseña de usuario.
(actual) contraseña de UNIX:
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente
$ _
Solo el root puede cambiar la contraseña de otros usuarios. Si se nos olvida nuestra contraseña, él puede ponernos otra, para luego nosotros cambiarla, pero nunca podrá decirnos cuál es, pues como se mencionó anteriormente, la claves están cifradas de forma irreversible. El comando que ejecutaría el root sería el siguiente:
# passwd login-del-usuario
El root puede entrar en la cuenta de cualquier usuario, sin necesidad de escribir su contraseña:
# login -f usuario
Por último, para terminar una sesión del shell, existen varias formas:
$ exit
Solo si el shell es de entrada, también podemos usar la orden logout. Los shells de entrada son los shells de las consolas virtuales (CTRL+ALT+F1, CTRL+ALT+F2, ..., CTRL+ALT+F6).
$ logout
La combinación de teclas CTRL+D también cierra el shell. Existen otras combinaciones de teclas muy parecidas y habituales, como CTRL+C para abortar un programa, CTRL+Z para suspender un programa; esto puede llevar a equivocarnos y en vez de pulsar CTRL+C, pulsemos CTRL+D, cerrando la sesión del intérprete de comandos. Si este funcionamiento no nos gusta, podemos desactivar la combinación de teclas CTRL+D para que no cierre el shell, y para ello tendríamos que ejecutar la siguiente orden:
$ set -o ignoreeof
La orden set permite cambiar el comportamiento del shell en muchos otros aspectos, los cuales veremos más adelante.
Licencia: licencia de software libre GPL