Servidor membro do Samba - o usuário está desativado?

1

Eu tenho um servidor de arquivos Debian Samba ligado ao Active Directory como um servidor membro.

Criamos uma pasta pessoal para cada funcionário que corresponda a seu nome de usuário neste servidor.

Quando os funcionários saem, sua conta de usuário do Active Directory é desativada e movida para uma UO de usuários desativados.

Eu gostaria de remover programaticamente as pastas de equipe dos funcionários que saíram, mas não consigo encontrar uma ferramenta que faça distinção entre funcionários ativos e desativados. Eu tentei: "wbinfo --verbose -i" e "id" comandos.

Alguém sabe um comando do Linux que eu posso usar para determinar se um funcionário está ativo ou desativado ou uma alternativa para a OU em que uma conta de usuário está localizada.

    
por user122992 22.03.2017 / 07:43

3 respostas

0

Você deve se ater ao utilitário openldap ldapsearch , que fornecerá as informações desejadas. Os comutadores com os quais você inicia e os parâmetros adicionais dependem da configuração do AD, como o nome do domínio, as coordenadas da unidade organizacional dentro da raiz do LDAP e assim por diante.

    
por 22.03.2017 / 12:02
0

Sugestão 1

Usando o LDAP, você pode verificar a propriedade userAccountControl para verificar o status da conta do AD.

Este flag é um dado binário expresso em decimais, então você precisa garantir que o valor decimal correto seja calculado e verificado

Por exemplo:

UF_NORMAL_ACCOUNT =  512
UF_ACCOUNT_DISABLE =   2 +
                     ---
                     514

Portanto, uma conta de usuário desabilitada terá userAccountControl = 514 .

Todas as contas de usuário são contas "normais" (512) - contas não normais são coisas como contas de relações de confiança de domínio (2048), etc.

Existem vários outros sinalizadores em relação a essa propriedade, mas alguns não são válidos apesar das aparências. 512 = ativo e 514 = desativado é confiável para uma conta de usuário padrão, no entanto.

Uma lista útil desses sinalizadores é compilada em SelfADSI.org: link

Sugestão 2

Como alternativa, na sua situação, um método LDAP mais simples pode ser verificar se o caminho da conta está na UO "inativa". Se você definir sua raiz de pesquisa como UO inativa e, em seguida, pegar a lista de contas ali contidas, poderá compará-las à lista de unidades de usuário existentes que você possui.

    
por 22.03.2017 / 14:39
0

Você pode analisar a saída "Flags da conta" de pdbedit para recuperar essas informações.

Este exemplo mostrará o mecanismo de como fazer isso:

root@dc:~# { pdbedit -v -u Disabled.UserName | \
             grep '^Account Flags.*D' >/dev/null; } && echo disabled
disabled
    
por 19.06.2017 / 09:13