Windows 2KX LDAP attributes

Publicado por André Gustavo Neves Lopes (última atualização em 06/01/2010)

[ Hits: 4.723 ]

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.

  



Esconder código-fonte

#!/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

Scripts recomendados

Reinicia todos os trabalhos de todas as filas CUPS

Jogo campo minado em Shell Script

KDE 4.1.1 no Slackware Linux 12.1

Automatizar backup do PostgreSQL

Firewall


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts