Usuarios Linux

Usuarios del sistema en el VPS con home privado, sudo opcional, cambio de contraseña forzado y borrado con confirmación.

  • Categoría: Servidores e infraestructura
  • Estado: Disponible
  • Requisitos: Un VPS de la empresa encendido; Para listar y ver: acceso al VPS; Para crear, editar o borrar: ser admin de la empresa
  • Herramientas MCP (Solo leen): listar_usuarios_vps, ver_usuario_vps
  • Herramientas MCP (Escriben o modifican): crear_usuario_vps, editar_usuario_vps
  • Herramientas MCP (Destructivas): eliminar_usuario_vps

Markdown

¿Qué permite hacer?

  • Listar los usuarios con los que se puede entrar al VPS y cuáles tienen sudo.
  • Crear un usuario con contraseña, home privado y, si se pide, sudo.
  • Obligar a cambiar la contraseña en el primer ingreso (activado por defecto).
  • Cambiar la contraseña o quitar y dar sudo.
  • Borrar un usuario, con o sin su carpeta personal.

¿Cuándo conviene usarlo?

  • Dar acceso por SSH o por terminal a una persona sin compartir root.
  • Un usuario propio para correr una aplicación.
  • Quitar el acceso a alguien que dejó el equipo.

¿Cómo funciona en ArduMaker?

Alta

  1. Se valida el nombre: empieza con minúscula o _, sigue con minúsculas, números, _ o -, hasta 32 caracteres. La contraseña es obligatoria.
  2. Si el usuario no existe, se crea con useradd -m -s /bin/bash, se le pone la contraseña y, con force_password_change, se la marca como vencida (chage -d 0). Un usuario que ya existía no se toca.
  3. Se deja su home /home/<usuario> con permisos 700 y los archivos de inicio de /etc/skel que falten.
  4. Con sudo=true se lo agrega al grupo sudo.

Listado

Solo aparecen usuarios «humanos»: UID 1000 o más, con shell de login y contraseña habilitada, más root. Los usuarios de sistema (www-data, postgres…) no se listan.

Borrado

  • root nunca se puede borrar.
  • Un agente tiene que mandar confirmacion con el nombre exacto del usuario: la guarda obliga a leer qué se está por destruir.
  • Por defecto también se borra la carpeta personal (remove_home=true); con false se conserva.
  • Los procesos que corren como ese usuario siguen hasta que terminen: borrar la cuenta no los mata.
  • El nombre del usuario borrado queda en el registro de actividad del VPS.

¿Qué cambia realmente?

  • /etc/passwd, /etc/shadow y los grupos del sistema (sudo).
  • /home/<usuario> con permisos 700, propiedad del usuario.
  • La lista de usuarios que ArduMaker guarda del VPS se actualiza al crear y al listar.
  • Una entrada en el registro de actividad del VPS por cada operación.

Entrar con el usuario

Crear el usuario no abre SSH. Para entrar desde afuera hace falta una redirección al puerto 22, idealmente con vencimiento (ver Firewall y puertos):

ssh -p <host_port> usuario@<dnsip>

Con force_password_change=true, en el primer ingreso el sistema pide la contraseña actual y una nueva.

Esquema

  1. Pedido: usuario, contraseña, sudo
  2. Validación: nombre válido, admin de la empresa
  3. Agente del VPS: useradd → chpasswd → chage → usermod
  4. Resultado: usuario con home 700 y, opcional, sudo
Crear un usuario

Resultado esperado

  • listar_usuarios_vps devuelve users y sudo_users (siempre incluye root).
  • ver_usuario_vps devuelve la línea del usuario en /etc/passwd.
  • crear_usuario_vps sobre un usuario que ya existe devuelve ese usuario con ya_existia: true en lugar de fallar.
id usuario
sudo -l -U usuario

Errores y resolución

RespuestaCausaQué hacer
400 Invalid usernameMayúsculas, espacios o caracteres no permitidosUsar el formato válido
404 User '<usuario>' not foundNo existe ese usuarioListar primero
403 al borrar rootroot está protegido—
428 sin confirmacionUn agente no mandó el nombre exactoReenviar la misma llamada con confirmacion igual al usuario
403Crear, editar o borrar requiere admin de la empresaPedirlo a un admin

Crear es seguro de repetir (devuelve el existente con ya_existia), pero en ese caso la contraseña no se cambia. Un userdel o deluser por ejecutar_comando_vps se rechaza siempre, sin opción de confirmar: el camino previsto es eliminar_usuario_vps.

Relación con MCP

Sí, en los perfiles /mcp y /mcp/vps.

HerramientaTipoNotas
listar_usuarios_vps, ver_usuario_vpsLectura—
crear_usuario_vpsEscrituraAdmin; idempotente por nombre
editar_usuario_vpsEscrituraAdmin; password y/o sudo
eliminar_usuario_vpsDestructiva, irreversibleAdmin; confirmacion = nombre exacto

Referencia en /mcp/docs y ejemplos en /mcp/vps.

Funciones relacionadas