Windows 2KX LDAP attributes
Publicado por André Gustavo Neves Lopes (última atualização em 06/01/2010)
[ Hits: 5.036 ]
Homepage: blog.mrx.com.br
Download checkUserAccountControl.sh
Esse script foi muito útil quando precisei integrar um Postfix com uma base de usuários pré-existente em um Active Directory (Windows 2K). Minha necessidade foi recuperar de maneira eficiente os atributos dos usuários para que eu pudesse controlar os emails direcionados ou vindos desses usuários. Depois de obter exatamente os atributos que eu precisava, foi muito mais fácil montar as consultas de autenticação.
A ideia é simples: passe o inteiro, obtido do campo UserAccountControl do usuário que está verificando como parâmetro do script, os principais atributos do LDAP (AD), serão verificados. O código é simples, apesar de elegante, rs.
Espero que sirva para mais alguém.
#!/bin/bash
##### table of attributes #############################
# codes from:
# http://support.microsoft.com/kb/305144
attrtable[1]="script"
attrtable[2]="account disable"
attrtable[3]="not used"
attrtable[4]="homedir required"
attrtable[5]="lockout"
attrtable[6]="passwd not required"
attrtable[7]="passwd cant change"
attrtable[8]="encrypted text pwd allowed"
attrtable[9]="temp duplicate account"
attrtable[10]="normal account"
attrtable[11]="not used"
attrtable[12]="interdomain trust account"
attrtable[13]="workstation trust account"
attrtable[14]="server trust account"
attrtable[17]="dont expire password"
function check_attr {
score=$1
binary=$(echo "ibase=10; obase=2; $score" | bc)
size=${#binary}
echo "checking values for $score -> $binary"
for i in ${!attrtable[*]} ; do
if [ $i -le $size ] ; then
positionalcheck=${binary:(-$i):1}
if [ $positionalcheck -eq 1 ] ; then
echo "-> true for: ${attrtable[$i]}"
fi
fi
done
}
check_attr $1
Atualizando KDE 3x para KDE4.1 no Slackware 12
Uma loja de apps por linha de comando
Instalador do plugin Flash 64 bits para Linux e UNIX/UNIX-like
Script para acionamento de GPIO para Relé Raspberry Pi
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Não consigo instalar distro antiga no virtualbox nem direto no hd (11)
Quais os códigos mais dificeis que vcs sabem fazer? (12)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









