Curso sobre comandos de linux

🗂️ Comandos del módulo

Qué quiero hacerLinuxWindows CMDPowerShell
Ver usuarios conectadoswho, usersquery userGet-LocalUser*
Cerrar sesiónlogoutlogofflogoff
Crear usuarioadduser, useraddnet user /addNew-LocalUser
Eliminar usuariouserdelnet user /deleteRemove-LocalUser
Cambiar contraseñapasswdnet userSet-LocalUser
Gestionar caducidadchage
Ver grupos de usuariogroupswhoami /groupsGet-LocalGroup
Crear grupoaddgroup, groupaddnet localgroup /addNew-LocalGroup
Modificar usuariousermodSet-LocalUser
Eliminar grupogroupdelnet localgroup /deleteRemove-LocalGroup
Cambiar grupo de archivochgrp
Proteger archivo (atributos)chattrattrib (limitado)
Usuarios del sistema/etc/passwd
Contraseñas cifradas/etc/shadow

👀 who

Muestra quién está conectado al sistema ahora mismo.

Opciones importantes

  • -u → muestra tiempo de inactividad
  • -H → añade cabecera
  • -q → solo nombres y número de usuarios

Ejemplos

1who
2who -u
3who -q

📌 Muy útil para servidores multiusuario.


🔒 chattr

Cambia atributos especiales de archivos (más allá de permisos).

Atributos clave

  • +i → inmutable (ni root puede borrar)
  • -i → quita inmutabilidad
  • +a → solo permite añadir
  • -a → quita modo append

Ejemplos

1sudo chattr +i fichero.txt
2sudo chattr -i fichero.txt
3lsattr fichero.txt

⚠️ Ideal para proteger ficheros críticos.


🚪 logout

Cierra la sesión actual.

1logout

📌 Solo funciona en sesiones de terminal (no en SSH forzado).


useradd

Crea usuarios de forma manual y técnica.

Opciones importantes

  • -m → crea /home
  • -d → home personalizada
  • -s → shell
  • -g → grupo principal
  • -G → grupos secundarios

Ejemplo

1sudo useradd -m -s /bin/bash -G sudo alumno

⚠️ No pide contraseña automáticamente.


adduser (recomendado)

Versión amigable de useradd.

1sudo adduser alumno

✔ Crea home ✔ Pide contraseña ✔ Solicita datos del usuario

📌 Usa este en FP.


🪪 chfn

Cambia información del usuario (nombre, oficina, etc.)

1chfn alumno

Campos modificables:

  • Nombre completo
  • Oficina
  • Teléfono

chage

Gestiona la caducidad de contraseñas.

Opciones clave

  • -l → ver estado
  • -M → días máximos
  • -m → días mínimos
  • -E → fecha de expiración

Ejemplo

1sudo chage -l alumno
2sudo chage -M 90 alumno

📌 Muy usado en entornos corporativos.


🔑 passwd

Cambia o gestiona contraseñas.

Opciones

  • -l → bloquea usuario
  • -u → desbloquea
  • -d → elimina contraseña
  • -e → fuerza cambio al login

Ejemplos

1passwd
2sudo passwd alumno
3sudo passwd -l alumno

🔍 pwck

Verifica el archivo /etc/passwd.

1sudo pwck

📌 Detecta usuarios corruptos o mal definidos.


👥 users

Muestra usuarios conectados (solo nombres).

1users

userdel

Elimina usuarios.

Opciones

  • -r → elimina home y correo
1sudo userdel alumno
2sudo userdel -r alumno

📄 /etc/passwd

Archivo público con usuarios.

Formato:

usuario:x:UID:GID:info:/home:/shell

Ejemplo:

1cat /etc/passwd

⚠️ No guarda contraseñas reales.


🔐 /etc/shadow

Contraseñas cifradas (solo root).

1sudo cat /etc/shadow

📌 Aquí actúan passwd y chage.


⚙️ /etc/adduser.conf

Configuración por defecto de adduser.

1cat /etc/adduser.conf

Define:

  • Shell por defecto
  • Rango UID
  • Permisos HOME

👨‍👩‍👧 Gestión de grupos


groupadd / addgroup

Crea grupos.

1sudo groupadd profesores
2sudo addgroup alumnos

🔧 usermod

Modifica usuarios existentes.

Opciones clave

  • -aG → añadir a grupo (¡siempre con -a!)
  • -s → cambiar shell
  • -d → cambiar home
1sudo usermod -aG sudo alumno

⚠️ Sin -a machaca grupos.


📄 /etc/group

Archivo de grupos.

1cat /etc/group

Formato:

grupo:x:GID:usuarios

🔍 grpck

Comprueba integridad de grupos.

1sudo grpck

👀 groups

Muestra grupos de un usuario.

1groups
2groups alumno

groupdel

Elimina grupos.

1sudo groupdel alumnos

🔄 groupmod

Modifica grupos.

1sudo groupmod -n estudiantes alumnos

🔁 chgrp

Cambia grupo propietario de archivos.

Opciones

  • -R → recursivo
1sudo chgrp profesores fichero.txt
2sudo chgrp -R alumnos carpeta/