Skip to main content

Criação e gerenciamento de usuários no Linux | Tarefas rotineiras | Linux

  • Criação e gerenciamento de usuários no Linux | Tarefas rotineiras | Linux

Conceito básico

No Linux, usuários são entidades usadas para controlar acesso ao sistema. Cada usuário possui:

  • UID (User ID)
  • Grupo primário (GID)
  • Diretório home
  • Shell padrão
  • Permissões associadas

Criar usuário

Comando básico

sudo useradd usuario

Esse comando cria o usuário, mas não configura tudo automaticamente.


Forma recomendada (mais completa)

sudo useradd -m -s /bin/bash usuario
  • -m → cria o diretório home (/home/usuario)
  • -s → define o shell padrão

Definir senha

sudo passwd usuario

Criar usuário com boas práticas

sudo useradd -m -s /bin/bash -c "Nome do Usuario" usuario
sudo passwd usuario

Adicionar ao sudo (acesso administrativo)

sudo usermod -aG sudo usuario

ou em distros como CentOS:

sudo usermod -aG wheel usuario

Ver informações do usuário

id usuario
cat /etc/passwd | grep usuario
cat /etc/shadow | grep usuario

Configurações importantes de segurança

1. Shell válido

Evite usuários com shell inválido:

cat /etc/passwd | grep usuario

Exemplo seguro:

usuario:x:1001:1001::/home/usuario:/bin/bash

Exemplo bloqueado:

usuario:x:1001:1001::/home/usuario:/usr/sbin/nologin

2. Senha obrigatória

Verifique se o usuário tem senha:

sudo passwd -S usuario

3. Expiração de senha

sudo chage -l usuario

Definir política:

sudo chage -M 90 usuario
  • -M → máximo de dias da senha

4. Bloquear usuário

sudo usermod -L usuario

Desbloquear:

sudo usermod -U usuario

5. Permissões do home

ls -ld /home/usuario

Ideal:

drwx------ usuario usuario

Corrigir:

sudo chmod 700 /home/usuario

6. Acesso SSH

Arquivo:

/etc/ssh/sshd_config

Boas práticas:

PermitRootLogin no
PasswordAuthentication yes
AllowUsers usuario

Reiniciar SSH:

sudo systemctl restart ssh

ou

sudo service ssh restart

7. Chave SSH (recomendado)

No cliente:

ssh-keygen

Copiar chave:

ssh-copy-id usuario@servidor

8. Remover acesso desnecessário ao sudo

groups usuario

Remover:

sudo deluser usuario sudo

Remover usuário

sudo userdel usuario

Remover com home:

sudo userdel -r usuario

Checklist rápido de segurança

  • Usuário tem senha definida
  • Home com permissão 700
  • Não tem acesso sudo sem necessidade
  • SSH restrito (AllowUsers)
  • Root login desabilitado
  • Senha com expiração configurada
  • Preferencialmente usa chave SSH

Automação simples de auditoria

Script básico:

#!/bin/bash

USER=$1

echo "== Info do usuário =="
id $USER

echo "== Shell =="
grep $USER /etc/passwd

echo "== Senha =="
passwd -S $USER

echo "== Expiração =="
chage -l $USER

echo "== Grupos =="
groups $USER

echo "== Permissões home =="
ls -ld /home/$USER

Uso:

chmod +x audit_user.sh
./audit_user.sh usuario