Tuesday, March 22, 2011

Play Active Directory Ntlm Auth With Users and Group Web Integration.

#! /bin/bash

check_group_ads()
{
echo "">/tmp/glist$$$
arr=(`echo $*`)
IFS=$'\n'
arr=(`wbinfo -g`)
for (( i = 0 ; i < ${#arr[*]}; i++ ))
do
check="`wbinfo -n "${arr[i]}"| grep -w 'Group'`"
if [ "$check" == "" ] ;then
   echo "NA" >>/tmp/glist$$$
else
 wbinfo -n  ${arr[i]} |xargs |cut -d " " -f 1 >>/tmp/glist$$$
fi
done
cat /tmp/glist$$$ |xargs >/home/ads/ads_group_check
}


gid_cheking()
{
IFS=$' '
echo "">/home/ads/group_gid
garr=(`cat /home/ads/ads_group_check|xargs `)
for (( i = 0 ; i < ${#garr[*]}; i++ ))
do
check="`wbinfo -n "${garr[i]}"| grep -w 'Group'`"
if [ "${garr[i]}" == "NA" ] ;then
   echo "" &>/dev/null
else
echo "${arr[i]} =>" >>/home/ads/group_gid
 wbinfo -Y "${garr[i]}" >>/home/ads/group_gid
echo ";" >>/home/ads/group_gid
fi
done
cat /home/ads/group_gid |xargs > /home/ads/group_gid_details
}

user_gid_checking()
{
echo "">/home/ads/user_gid
ugc=(`wbinfo -u|xargs`)
for (( i = 0 ; i < ${#ugc[*]}; i++ ))
do
echo "${ugc[i]} =>" >>/home/ads/user_gid
#wbinfo -r "${ugc[i]}" |xargs >>/home/ads/user_gid
wbinfo -r "${ugc[i]}" |xargs |cut -d " " -f 2-100  >>/home/ads/user_gid
echo ";" >>/home/ads/user_gid


done
cat /home/ads/user_gid |xargs >/home/ads/user_gid_details
}


check_group_ads $* &>/dev/null
check_group_ads
gid_cheking
user_gid_checking

============================

The Result Is Simple files contaning #array type entrys with user / group id for furter process with databased backed application .

No comments: