usuarios y grupos
información usuario
id <user>
→ para saber datos y grupos del usuariowhoami
→ nombre del usuario
usuarios en línea
who
→ usuarios conectados - terminalps -U <USER>
→ procesos asociados a un usuariosudo pkill [-9] -u <USER>
→ eliminar procesos asociados a un usuario.
cambio de contraseña
passwd [<USER>]
→ cambiar contraseña propia o si tienes privilegios, la contraseña de otro usuario.echo 1234 | passwd –stdin jordi
(no funciona en Debian)echo «jordi:1234» | chpasswd
(se puede añadir-m
para que guarde la contraseña en formato MD5 en lugar de DES/etc/security/pwquality.conf
: establece complejidad de las contraseñas a usar en el sistema
chage (CHange AGE)
- modificación datos, expiraciones, inactividad
chage -l <USER>
:_ comprobar «estatus» cuenta.chage -d 0 <USER>
: forzar cambio de contraseñapasswd -e <USER>
grupos
groupadd <nombre_grupo>
: crear un grupouseradd -G <grupo> <usuario>
: añadir nuevo usuario a otros gruposusermod -g <grupo> <usuario>
: añadir/cambiar el grupo principal de un usuariousermod -a -G <grupo> <usuario>
: añadir un usuario existente a un grupo existentenewgrp <grupo>
: establece como principal el <grupo> de manera temporal, útil para no reinicar sesión y aplicar la pertenencia (según comando anterior)
usermod -g <grupo> <usuario>
: añadir/cambiar el grupo principal de un usuario existentedeluser <usuario> <grupo>
: elimina al usuario del grupo, no elimina ni al usuario ni al grupo
usuarios
adduser/useradd
useradd --comment "comentario" --home-dir /home/user --create-home --expiredate 2020-20-20 --uid 6666 --user-group --shell /bin/bash <USER>
deluser
userdel -r <USER>
modificar
- cambia varios atributos de usuarios:
$ usermod <opcion> <usuario>
- -s <shell> : cambia shell usuario
- -d -m <nueva ubicación> : cambia el directorio HOME y mueve el contenido
- -u <UID>: cambia el UID del usuario
- -g <GID>: cambio del grupo principal del usuario
- -e <MM/DD/YYYY>: fecha expiración contraseña usuario
- -a -G <grupo>: añade un grupo a un usuario
grupos
crear
- grupo nuevo:
$ groupadd <nombre_grupo>
modificar
$ groupmod <opción> <grupo>
- -n <nombre> : cambia el nombre del grupo
- -g <GID> : cambia el GID del grupo
/bin/nologin VS /bin/false
nologin y false
2019-11-14: haciendo un chroot el comportamiento ha sido al revés del explicado aquí abajo. /sbin/nologin no me deja SFTP ni SSH, /bin/false si me deja SFTP, no SSH- modificaciones en /etc/passwd para evitar login
- /sbin/nologin, /usr/sbin/nologin
- evitar que un usuario haga login por consola (le quedaría SFTP).
- Además muestra el mensaje /etc/nologin.txt cuando se intenta el acceso vía telnet/ssh
- Se considera una shell válida (aunque no lo es). Hay programas que exigen tener una shell válida (de FTP, p.e.)
- /etc/shells/ ← shells válidas del sistema, no debe aparecer nologin para que funcione correctamente
- /bin/false
- evitar el login total en el sistema (telnet/ssh/ftp).
- No da mensajes de error, símplemente cierra la conexión.
- otras alternativas para evitar login:
- modificar el campo de la contraseña /etc/passwd, poniendo una admiración en su lugar (por convención)
- modificar el campo de la contraseña /etc/shadow, poniendo una admiración en su lugar (por convención)
- usar
passwd -l <user>
para bloquear (añade ! al hash en /etc/shadow)passwd -S <user>
: status (L locked)
- usar
usermod –expiredate 1