Quando se administra um ambiente Samba 4 com Active Directory, uma situação comum é ao rodar o comando smbstatus
encontrar apenas números de ID (UIDs) no campo “Username”. Esses números, geralmente a partir de 3000000, representam objetos do domínio, como usuários e máquinas.
O desafio surge quando precisamos identificar quem é quem nesses IDs numéricos. Saber qual usuário ou estação de trabalho está associada a um ID é essencial para auditorias, troubleshooting e manutenção de sessões.
A causa disso é simples: o Samba4 gera UIDs automáticos para cada objeto do Active Directory e associa esses valores no backend interno.
Para resolver manualmente, podemos utilizar o wbinfo
, que é a ferramenta de consulta do winbindd. Primeiro, convertemos o UID para o SID e depois o SID para o nome real.
Comandos:
wbinfo --uid-to-sid 3000033
wbinfo --sid-to-name S-1-5-21-xxxx-xxxx-xxxx-xxxx
Ou de forma encadeada:
wbinfo --sid-to-name $(wbinfo --uid-to-sid 3000033)
Esses comandos retornam o nome do usuário ou da máquina associado ao UID.
Para facilitar e automatizar o processo, criamos um script chamado smbstatus-resolve.sh
, que coleta todos os UIDs do smbstatus e resolve os nomes em uma tabela organizada.
Script:
#!/bin/bash
# Script: smbstatus-resolve.sh
# Autor: Anderson Kemper + LLM
# Finalidade: Traduzir UIDs do smbstatus para nomes reais de usuários e máquinas.
echo "Coletando UIDs ativos no smbstatus..."
uids=$(smbstatus | awk '{print $2}' | grep -E '^[0-9]{7}$' | sort -u)
printf "\n%-10s %-30s\n" "UID" "Usuário/Máquina"
printf "%-10s %-30s\n" "----------" "------------------------------"
for uid in $uids; do
sid=$(wbinfo --uid-to-sid $uid 2>/dev/null)
if [ -n "$sid" ]; then
name=$(wbinfo --sid-to-name "$sid" 2>/dev/null)
if [ -n "$name" ]; then
printf "%-10s %-30s\n" "$uid" "$name"
else
printf "%-10s %-30s\n" "$uid" "(SID encontrado, nome não)"
fi
else
printf "%-10s %-30s\n" "$uid" "(UID inválido)"
fi
done
Salvar o script, dar permissão de execução com chmod +x smbstatus-resolve.sh
e executá-lo sempre que precisar.
Esse pequeno utilitário torna a gestão do Samba/AD mais rápida e clara, sem precisar fazer consultas manuais toda vez que um UID desconhecido aparecer.