2015年12月23日 星期三

LDAP filter 語法,windows ad 取出所有正常帳號

(&(objectCategory=person)(objectClass=user)(primaryGroupID=513)(|(useraccountcontrol=512)(useraccountcontrol=66048))))

2015年12月21日 星期一

PHP 查詢 windows AD 帳號範例(取出所有帳號)

<?php
$domain = 'domain';
$ldaprdn = 'userid';
$ldappass = 'password';

$ldapconn = ldap_connect($domain) or die("無法連接至 $domain");

ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);

if ($ldapconn) { // binding to ldap server
//    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
    $ldapbind = ldap_bind($ldapconn, $ldaprdn . '@' . $domain, $ldappass);
    // verify binding
    if ($ldapbind) {
        $filter = "(sAMAccountName=*)";
        $_dn = str_replace('.', ',dc=', "dc=". $domain);
        $result = ldap_search($ldapconn, $_dn, $filter);

        $info = ldap_get_entries($ldapconn, $result);
        print_r($info);
    } else {
        echo "認證失敗...";
    }
}
?>

2015年12月7日 星期一

bash 轉換2,16進位為10進位

echo $((2#111111))
echo $((16#c0))

其他:
轉換為16進位可使用 bc 指令

bash script 轉換 ipv4為 16進位

IP_ADDR=192.168.1.1
printf '%02X' ${IP_ADDR//./ }; echo

使用bash script 取得系統目前 TCP 連線資訊

oIFS=$IFS;
IFS=$'\n';

for line in $(cat /proc/net/tcp6 |grep -v address);
do
IFS=$oIFS;
line=($line);
IFS=:
local_address=(${line[1]})
echo -n $((16#${local_address[0]:6:2})).\
$((16#${local_address[0]:4:2})).\
$((16#${local_address[0]:2:2})).\
$((16#${local_address[0]:0:2})):\
$((16#${local_address[1]}))

local_address=(${line[2]})
echo  "  <= " $((16#${local_address[0]:6:2})).\
$((16#${local_address[0]:4:2})).\
$((16#${local_address[0]:2:2})).\
$((16#${local_address[0]:0:2})):\
$((16#${local_address[1]}))

IFS=$'\n';
done;

IFS=$oIFS;

Linux查詢目前所支援的檔案系統種類

cat /proc/filesystems

linux 指令 mount 筆記

mount --bind /mnt /mnt2
mount --move /mnt /mnt2
mount --remount,ro /mnt