Pular para o conteúdo

Windows 2KX LDAP attributes

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.
André Gustavo Neves Lopes andrelopes.mrx
Hits: 5.172 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download checkUserAccountControl.sh Enviar nova versão

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

yad-clamav

RT61 no SLACKWARE 11

Ping em lista de IPs

sincleg: sincronizador de legendas (srt)

Sorteio do Amigo Secreto

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.