Usuários Linux
Usuários do sistema no VPS com home privado, sudo opcional, mudança de senha forçada e exclusão com confirmação.
- Categoria: Servidores e infraestrutura
- Estado: Disponível
- Requisitos: Um VPS da empresa ligado; Para listar e ver: acesso ao VPS; Para criar, editar ou apagar: ser admin da empresa
- Ferramentas MCP (Só leem):
listar_usuarios_vps,ver_usuario_vps - Ferramentas MCP (Escrevem ou modificam):
crear_usuario_vps,editar_usuario_vps - Ferramentas MCP (Destrutivas):
eliminar_usuario_vps
O que permite fazer?
- Listar os usuários com que se pode entrar no VPS e quais têm
sudo. - Criar um usuário com senha, home privado e, se pedido,
sudo. - Obrigar a mudar a senha no primeiro acesso (ativado por padrão).
- Mudar a senha ou tirar e dar
sudo. - Apagar um usuário, com ou sem a sua pasta pessoal.
Quando convém usar?
- Dar acesso por SSH ou por terminal a uma pessoa sem compartilhar o
root. - Um usuário próprio para correr uma aplicação.
- Retirar o acesso a alguém que saiu da equipe.
Como funciona na ArduMaker?
Criação
- Valida-se o nome: começa com minúscula ou
_, segue com minúsculas, números,_ou-, até 32 caracteres. A senha é obrigatória. - Se o usuário não existe, é criado com
useradd -m -s /bin/bash, define-se a senha e, comforce_password_change, marca-se como expirada (chage -d 0). Um usuário que já existia não é tocado. - Deixa-se o seu home
/home/<usuario>com permissões 700 e os arquivos de arranque de/etc/skelque faltem. - Com
sudo=trueé acrescentado ao gruposudo.
Listagem
Só aparecem usuários “humanos”: UID 1000 ou mais, com shell de login e senha ativa, mais o root. Os usuários de sistema (www-data, postgres…) não são listados.
Exclusão
rootnunca pode ser apagado.- Um agente tem de enviar
confirmacioncom o nome exato do usuário: a proteção obriga a ler o que se vai destruir. - Por padrão também se apaga a pasta pessoal (
remove_home=true); comfalseconserva-se. - Os processos que correm como esse usuário continuam até terminarem: apagar a conta não os mata.
- O nome do usuário apagado fica no registro de atividade do VPS.
O que muda realmente?
/etc/passwd,/etc/shadowe os grupos do sistema (sudo)./home/<usuario>com permissões 700, propriedade do usuário.- A lista de usuários que a ArduMaker guarda do VPS é atualizada ao criar e ao listar.
- Uma entrada no registro de atividade do VPS por cada operação.
Entrar com o usuário
Criar o usuário não abre o SSH. Para entrar de fora é preciso um redirecionamento para a porta 22, idealmente com vencimento (ver Firewall e portas):
ssh -p <host_port> usuario@<dnsip>Com force_password_change=true, no primeiro acesso o sistema pede a senha atual e uma nova.
Esquema
- Pedido: usuário, senha, sudo
- Validação: nome válido, admin da empresa
- Agente do VPS: useradd → chpasswd → chage → usermod
- Resultado: usuário com home 700 e, opcional, sudo
Resultado esperado
listar_usuarios_vpsdevolveusersesudo_users(inclui sempre oroot).ver_usuario_vpsdevolve a linha do usuário em/etc/passwd.crear_usuario_vpssobre um usuário que já existe devolve esse usuário comya_existia: trueem vez de falhar.
id usuario
sudo -l -U usuarioErros e resolução
| Resposta | Causa | O que fazer |
|---|---|---|
400 Invalid username | Maiúsculas, espaços ou caracteres não permitidos | Usar o formato válido |
404 User '<usuario>' not found | Esse usuário não existe | Listar primeiro |
403 ao apagar root | root está protegido | — |
428 sem confirmacion | Um agente não enviou o nome exato | Reenviar a mesma chamada com confirmacion igual ao usuário |
| 403 | Criar, editar ou apagar requer admin da empresa | Pedir a um admin |
Criar é seguro de repetir (devolve o existente com ya_existia), mas nesse caso a senha não é alterada. Um userdel ou deluser por ejecutar_comando_vps é sempre rejeitado, sem opção de confirmar: o caminho previsto é eliminar_usuario_vps.
Relação com MCP
Sim, nos perfis /mcp e /mcp/vps.
| Ferramenta | Tipo | Notas |
|---|---|---|
listar_usuarios_vps, ver_usuario_vps | Leitura | — |
crear_usuario_vps | Escrita | Admin; idempotente por nome |
editar_usuario_vps | Escrita | Admin; password e/ou sudo |
eliminar_usuario_vps | Destrutiva, irreversível | Admin; confirmacion = nome exato |