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 "認證失敗...";
}
}
?>
$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 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;
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;
2015年11月27日 星期五
2015年11月9日 星期一
修復 Linux Software Raid
可以修復開機後無法尋找到 Raid
mdadm --assemble --scan
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
使用原來 raid 資訊啟動
mdadm -A /dev/md2 /dev/sdb1 /dev/sdd1
mdadm --assemble --scan
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
使用原來 raid 資訊啟動
mdadm -A /dev/md2 /dev/sdb1 /dev/sdd1
2015年11月6日 星期五
AKiTiO 迷你私有雲安裝 rsync, wget
取得 root 權限後,下載相關 rpm
http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/releases/12/Everything/arm/os/Packages/
相關下載
http://silverstone-usa.com/download/DC01_source_code/NAS_AP_Team_NAND_SDK_20110801.tar.bz2
http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/releases/12/Everything/arm/os/Packages/
相關下載
http://silverstone-usa.com/download/DC01_source_code/NAS_AP_Team_NAND_SDK_20110801.tar.bz2
2015年11月4日 星期三
haserl 範例-修改檔案內容
#!/usr/bin/haserl
content-type: text/html
<% DNSRECORD_FILE=/root/dnsrecord-file %>
<html><body>
<h1>Sample Form</h1>
<form action="<% echo -n $SCRIPT_NAME %>" method="POST">
<% [ "$FORM_submit" == "修改" ] && echo -n "$FORM_dnsrecord" |tr -d "\r" >$DNSRECORD_FILE %>
<textarea name="dnsrecord" rows="20" cols="50">
<% cat $DNSRECORD_FILE %>
</textarea>
<br>
<input type=reset>
<input type=submit value='修改' name='submit'>
</form>
</html>
</body>
content-type: text/html
<% DNSRECORD_FILE=/root/dnsrecord-file %>
<html><body>
<h1>Sample Form</h1>
<form action="<% echo -n $SCRIPT_NAME %>" method="POST">
<% [ "$FORM_submit" == "修改" ] && echo -n "$FORM_dnsrecord" |tr -d "\r" >$DNSRECORD_FILE %>
<textarea name="dnsrecord" rows="20" cols="50">
<% cat $DNSRECORD_FILE %>
</textarea>
<br>
<input type=reset>
<input type=submit value='修改' name='submit'>
</form>
</html>
</body>
2015年11月3日 星期二
AKiTiO 迷你私有雲 MyCloud Mini 取得 root 權限
1.安裝 2.5" 硬碟,登入 web 管理界面,依指示格式化後,掛載至 /home
2.登入 web 管理界面,新增一帳號 admin2
3.admin telnet 進入系統,執行以下指令 cp $(which vi) /home/admin/vi2
4.關機,移除 2.5" 硬碟
5.將上述 2.5" 硬碟移至另一台 Linux 系統安裝
6.找到上述所複製程式 vi2,執行以下指令
chown root.root vi2;chmod a+s vi2
7.將上述 2.5" 硬碟接回 MyCloud Mini 開機,確認硬碟有掛載成功。
8. telnet 進入系統,使用 /home/admin/vi2 修改 /etc/passwd,內容如下
admin2:x:0:0::/home/admin2:/bin/bash
9.使用 admin2 登入,即可取得 root 權限
2.登入 web 管理界面,新增一帳號 admin2
3.admin telnet 進入系統,執行以下指令 cp $(which vi) /home/admin/vi2
4.關機,移除 2.5" 硬碟
5.將上述 2.5" 硬碟移至另一台 Linux 系統安裝
6.找到上述所複製程式 vi2,執行以下指令
chown root.root vi2;chmod a+s vi2
7.將上述 2.5" 硬碟接回 MyCloud Mini 開機,確認硬碟有掛載成功。
8. telnet 進入系統,使用 /home/admin/vi2 修改 /etc/passwd,內容如下
admin2:x:0:0::/home/admin2:/bin/bash
9.使用 admin2 登入,即可取得 root 權限
2015年10月30日 星期五
wpa_cli 設定範例
連接網路
wpa_cli -i wlan0 remove_network 0
wpa_cli -i wlan0 add_network
wpa_cli -i wlan0 set_network 0 ssid '"ssid"'
wpa_cli -i wlan0 set_network 0 key_mgmt WPA-PSK
wpa_cli -i wlan0 set_network 0 psk '"password"'
wpa_cli -i wlan0 set_network 0 pairwise CCMP
wpa_cli -i wlan0 set_network 0 group CCMP
wpa_cli -i wlan0 set_network 0 proto RSN
wpa_cli -i wlan0 enable_network 0
wpa_cli -i wlan0 select_network 0
wpa_cli -i wlan0 status
移除中斷網路
wpa_cli -i wlan0 disable_network 0
wpa_cli -i wlan0 remove_network 0
wpa_cli -i wlan0 disconnect
wpa_cli -i wlan0 remove_network 0
wpa_cli -i wlan0 add_network
wpa_cli -i wlan0 set_network 0 ssid '"ssid"'
wpa_cli -i wlan0 set_network 0 key_mgmt WPA-PSK
wpa_cli -i wlan0 set_network 0 psk '"password"'
wpa_cli -i wlan0 set_network 0 pairwise CCMP
wpa_cli -i wlan0 set_network 0 group CCMP
wpa_cli -i wlan0 set_network 0 proto RSN
wpa_cli -i wlan0 enable_network 0
wpa_cli -i wlan0 select_network 0
wpa_cli -i wlan0 status
移除中斷網路
wpa_cli -i wlan0 disable_network 0
wpa_cli -i wlan0 remove_network 0
wpa_cli -i wlan0 disconnect
Cubietruck led 控制 for linux
修改 /sys/class/leds/ 下檔案值即可變更狀態
brightness 開關 0-255
trigger 驅動方式 (none 取消)
修改預設開機設定
修改 script.bin 內容 [leds_para]設定
#mount /dev/第一分割區 /mnt
cd /mnt; bin2fex script.bin script.fex;
編輯 [leds_para]
fex2bin script.fex script.bin ; cd /;umount /mnt; reboot
預設燈號
green LED is indicating if there is any read write with the SD Card [mmc0]
blue LED is heartbeating [heartbeat]
orange LED is CPU0 load [cpu0]
white LED is CPU1 load [cpu1]
相關資源
https://defendtheplanet.net/tag/led/
http://linux-sunxi.org/Cubieboard/Programming/StatusLEDs
brightness 開關 0-255
trigger 驅動方式 (none 取消)
修改預設開機設定
修改 script.bin 內容 [leds_para]設定
#mount /dev/第一分割區 /mnt
cd /mnt; bin2fex script.bin script.fex;
編輯 [leds_para]
fex2bin script.fex script.bin ; cd /;umount /mnt; reboot
預設燈號
green LED is indicating if there is any read write with the SD Card [mmc0]
blue LED is heartbeating [heartbeat]
orange LED is CPU0 load [cpu0]
white LED is CPU1 load [cpu1]
相關資源
https://defendtheplanet.net/tag/led/
http://linux-sunxi.org/Cubieboard/Programming/StatusLEDs
2015年10月27日 星期二
Cubietruck Nand Android 及 SD Linux 共存
1.安裝 Linux 至 SD,使用 root 登入系統
2.修改 script.bin
#mount /dev/第一分割區 /mnt
cd /mnt; bin2fex script.bin script.fex;
編輯 script.fex 修改
'nand_used=1' ==> 'nand_used=0'
fex2bin script.fex script.bin ; cd /;umount /mnt; reboot
3.重刷 nand Android
2.修改 script.bin
#mount /dev/第一分割區 /mnt
cd /mnt; bin2fex script.bin script.fex;
編輯 script.fex 修改
'nand_used=1' ==> 'nand_used=0'
fex2bin script.fex script.bin ; cd /;umount /mnt; reboot
3.重刷 nand Android
Cubietruck 重刷 nand Android
1.安裝 PhoneixSuit 軟體及 usb device (VID_1f3a_PID_efe8)
2.開啟 PhoneixSuit 軟體,選擇固件
3.按 fel 接上 mini USB,強制刷機
2.開啟 PhoneixSuit 軟體,選擇固件
3.按 fel 接上 mini USB,強制刷機
2015年10月21日 星期三
Linux inotifywait 筆記
使用注意事項
inotifywait -m test 修改 檔案 test 內容時,可能檔案 inode 會異動(使用 vim),因此 inotifywait 監控會失效,改由以下方法 (未處理 delete 狀況)
while true :; do :; inotifywait /root/shc-3.8.9b/a/test; done;
inotifywait -m test 修改 檔案 test 內容時,可能檔案 inode 會異動(使用 vim),因此 inotifywait 監控會失效,改由以下方法 (未處理 delete 狀況)
while true :; do :; inotifywait /root/shc-3.8.9b/a/test; done;
2015年10月13日 星期二
2015年10月12日 星期一
QNAP TS-879U 安裝 cron
1.安裝 Optware IPKG APP
2.編輯 /opt/var/cron/cron.allow 加入可執行的帳號
一般帳號無法使用 /opt/bin/crontab -e 來編輯,會出現權限問題,因此使用下列方式來處理
編輯 user 時程
/opt/bin/crontab -u user -e
修改權限
chown user /opt/var/cron/crontabs/user
一般帳號 user 下列方式來編輯使用
vi /opt/var/cron/crontabs/user
確認 /opt/sbin/cron 有正確執行
/opt/etc/init.d/S10cron
2.編輯 /opt/var/cron/cron.allow 加入可執行的帳號
一般帳號無法使用 /opt/bin/crontab -e 來編輯,會出現權限問題,因此使用下列方式來處理
編輯 user 時程
/opt/bin/crontab -u user -e
修改權限
chown user /opt/var/cron/crontabs/user
一般帳號 user 下列方式來編輯使用
vi /opt/var/cron/crontabs/user
確認 /opt/sbin/cron 有正確執行
/opt/etc/init.d/S10cron
2015年10月2日 星期五
Linux IPMI 相關資訊
cat /proc/devices |grep ipmi
2.6 kernel module:ipmi_si ipmi_devintf ipmi_msghandler
device
/dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0
2.6 kernel module:ipmi_si ipmi_devintf ipmi_msghandler
device
/dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0
2015年9月22日 星期二
取得software raid 資訊
cat /proc/mdstat |grep md |cut -d : -f 1|xargs -n 1 echo /dev/ | tr ' ' / |xargs -n 1 mdadm --detail
2015年9月15日 星期二
proxmox 3.4 使用 software raid5
背景:
安裝 proxmox 3.4 在 4顆硬碟建立 software raid5 上
步驟:
0.proxmox 預先安裝在 /dev/sda 並安裝相關套件
apt-get update
apt-get upgrade
apt-get install mdadm
安裝後分割區如下
Number Start (sector) End (sector) Size Code Name
1 34 2047 1007.0 KiB EF02
2 2048 262143 127.0 MiB EF00
3 262144 7814037134 3.6 TiB 8E00
1.複製分割區資訊
for i in b c d
do
sgdisk -R=/dev/sd$i /dev/sda
sgdisk -t 2:fd00 /dev/sd$i
sgdisk -t 3:fd00 /dev/sd$i
done
2.建立 /boot 區 software RAID
mdadm --create /dev/md0 --level=1 --raid-disks=4 missing /dev/sdb2 /dev/sdc2 /dev/sdd2
mkfs.ext3 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
cp /etc/fstab /etc/fstab.bak
echo "/dev/md0 /boot ext3 defaults 0 1">>/etc/fstab
umount /mnt/md0
rmdir /mnt/md0
3.建立 software raid 5
mdadm --create /dev/md1 --level=5 --raid-disks=4 missing /dev/sdb3 /dev/sdc3 /dev/sdd3
4.重新開機測試
mdadm --detail --scan >>/etc/mdadm/mdadm.conf
reboot
5.安裝 GRUB 到 所有硬碟 /dev/sd[abcd]
echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub
echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub
echo raid1 >> /etc/modules
echo raid1 >> /etc/initramfs-tools/modules
grub-install /dev/sda
grub-install /dev/sdb
grub-install /dev/sdc
grub-install /dev/sdd
update-grub
update-initramfs -u
reboot
6.將/dev/sda2 加入 /dev/md0
sgdisk -t 2:fd00 /dev/sda
mdadm --add /dev/md0 /dev/sda2
7.搬移 LVM Data
pvcreate /dev/md1
vgextend pve /dev/md1
pvmove /dev/sda3 /dev/md1
vgreduce pve /dev/sda3
pvremove /dev/sda3
8./dev/sda3 重新加入 LVM 中
sgdisk -t 3:fd00 /dev/sda
mdadm --add /dev/md1 /dev/sda3
cat /proc/mdstat #查看 等待 rebuilding 完成
vgdisplay #檢視 pve VG 容量
9.再次更新 GRUB
grub-install /dev/sda
grub-install /dev/sdb
grub-install /dev/sdc
grub-install /dev/sdd
update-grub
update-initramfs -t -u
sync
reboot
10.調整 /dev/pve/data 大小
lvresize -l +20 /dev/pve/data
resize2fs /dev/pve/data
安裝 proxmox 3.4 在 4顆硬碟建立 software raid5 上
步驟:
0.proxmox 預先安裝在 /dev/sda 並安裝相關套件
apt-get update
apt-get upgrade
apt-get install mdadm
安裝後分割區如下
Number Start (sector) End (sector) Size Code Name
1 34 2047 1007.0 KiB EF02
2 2048 262143 127.0 MiB EF00
3 262144 7814037134 3.6 TiB 8E00
1.複製分割區資訊
for i in b c d
do
sgdisk -R=/dev/sd$i /dev/sda
sgdisk -t 2:fd00 /dev/sd$i
sgdisk -t 3:fd00 /dev/sd$i
done
2.建立 /boot 區 software RAID
mdadm --create /dev/md0 --level=1 --raid-disks=4 missing /dev/sdb2 /dev/sdc2 /dev/sdd2
mkfs.ext3 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
cp /etc/fstab /etc/fstab.bak
echo "/dev/md0 /boot ext3 defaults 0 1">>/etc/fstab
umount /mnt/md0
rmdir /mnt/md0
3.建立 software raid 5
mdadm --create /dev/md1 --level=5 --raid-disks=4 missing /dev/sdb3 /dev/sdc3 /dev/sdd3
4.重新開機測試
mdadm --detail --scan >>/etc/mdadm/mdadm.conf
reboot
5.安裝 GRUB 到 所有硬碟 /dev/sd[abcd]
echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub
echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub
echo raid1 >> /etc/modules
echo raid1 >> /etc/initramfs-tools/modules
grub-install /dev/sda
grub-install /dev/sdb
grub-install /dev/sdc
grub-install /dev/sdd
update-grub
update-initramfs -u
reboot
6.將/dev/sda2 加入 /dev/md0
sgdisk -t 2:fd00 /dev/sda
mdadm --add /dev/md0 /dev/sda2
7.搬移 LVM Data
pvcreate /dev/md1
vgextend pve /dev/md1
pvmove /dev/sda3 /dev/md1
vgreduce pve /dev/sda3
pvremove /dev/sda3
8./dev/sda3 重新加入 LVM 中
sgdisk -t 3:fd00 /dev/sda
mdadm --add /dev/md1 /dev/sda3
cat /proc/mdstat #查看 等待 rebuilding 完成
vgdisplay #檢視 pve VG 容量
9.再次更新 GRUB
grub-install /dev/sda
grub-install /dev/sdb
grub-install /dev/sdc
grub-install /dev/sdd
update-grub
update-initramfs -t -u
sync
reboot
10.調整 /dev/pve/data 大小
lvresize -l +20 /dev/pve/data
resize2fs /dev/pve/data
2015年9月9日 星期三
2015年8月28日 星期五
Proxmox:Mount NFS volume in a OpenVZ container
HOST:
modprobe nfs
apt-get install nfs-common
vzctl set $VID --features "nfs:on" --save
vzctl restart $VID
Container:
yum install nfs-utils
modprobe nfs
apt-get install nfs-common
vzctl set $VID --features "nfs:on" --save
vzctl restart $VID
Container:
yum install nfs-utils
yum 安裝 package 出現 inode空間不足( inodes on the / filesystem )解決方法
yum install --downloadonly --downloaddir=$DIR $rpm
rpm -ivh --ignoresize $DIR/*.rpm
rpm -ivh --ignoresize $DIR/*.rpm
Cisco Switch 設定筆記
interface GigabitEthernet1/2 description eth1 switchport switchport trunk encapsulation dot1q switchport trunk allowed vlan 10,20,30 switchport mode trunk no ip address no cdp enable spanning-tree portfast trunk
2015年8月24日 星期一
Cisco Switch RSTP 相關指令
Cisco Switch RSTP 相關指令
查看STP
#sh spanning-tree
調整priority
(config)#spanning-tree vlan 1 priority xxx
啟用802.1t之priority格式
(config)#spanning-tree extend system-id
變成RSTP
(config)#spanning-tree mode rapid-pvst
跳過Listening和Learning的偵測流程
(config-if)spanning-tree portfast
查看STP
#sh spanning-tree
調整priority
(config)#spanning-tree vlan 1 priority xxx
啟用802.1t之priority格式
(config)#spanning-tree extend system-id
變成RSTP
(config)#spanning-tree mode rapid-pvst
跳過Listening和Learning的偵測流程
(config-if)spanning-tree portfast
LEAF bonding,VLAN 設定筆記
bonding 範例
編輯 /etc/network/interfaces
auto bond0
iface bond0 inet static
address 10.31.1.5
netmask 255.255.255.0
gateway 10.31.1.254
slaves eth0 eth1
編輯 /etc/modules 加入
bonding mode=6 downplay=200 updelay=200 miimon=100
VLAN範例
編輯 /etc/network/interfaces
auto bond0
iface bond0 inet manual
up ifconfig bond0 0.0.0.0 up
slaves eth0 eth1
auto vlan20
iface vlan20 inet static
address 10.20.1.5
netmask 255.255.255.0
vlan-raw-device bond0
編輯 /etc/modules 加入
8021q
編輯 /etc/network/interfaces
auto bond0
iface bond0 inet static
address 10.31.1.5
netmask 255.255.255.0
gateway 10.31.1.254
slaves eth0 eth1
編輯 /etc/modules 加入
bonding mode=6 downplay=200 updelay=200 miimon=100
VLAN範例
編輯 /etc/network/interfaces
auto bond0
iface bond0 inet manual
up ifconfig bond0 0.0.0.0 up
slaves eth0 eth1
auto vlan20
iface vlan20 inet static
address 10.20.1.5
netmask 255.255.255.0
vlan-raw-device bond0
編輯 /etc/modules 加入
8021q
2015年7月17日 星期五
Linux 檢查硬體是否支援 IPMI
指令:dmidecode
輸出:Handle 0x004D, DMI type 38, 18 bytes
IPMI Device Information
註:以上並不能完整的檢測出硬體是否一定有支援 IPMI
dmidecode --type 38
輸出:Handle 0x004D, DMI type 38, 18 bytes
IPMI Device Information
註:以上並不能完整的檢測出硬體是否一定有支援 IPMI
dnsmasq設定筆記
修改 /etc/dnsmasq.conf
關閉/不啟用 DNS
port=0
# 啟用 TFTP server
enable-tftp
tftp-root=/var/lib/tftp
關閉/不啟用 DNS
port=0
# 啟用 TFTP server
enable-tftp
tftp-root=/var/lib/tftp
pvdisplay 出現 Couldn't find device 處理方式
pvdisplay
Couldn't find device with uuid Lb0nk8-K7rI-1Kn0-sl1w-SHFH-e4kG-s139OL.
vgreduce --removemissing
2015年6月25日 星期四
IPMI 預設帳號密碼
IBM USERID / PASSW0RD
supermicro ADMIN / ADMIN
聯想albert / admin
泰安 root / superuser
其他
http://fish2.com/ipmi/default.html
pxelinux 針對 menu 內容說明
編輯 pxelinux.cfg/default
TEXT HELP
Help text ...
... which can span multiple lines
ENDTEXT
TEXT HELP
Help text ...
... which can span multiple lines
ENDTEXT
pxelinux 加入密碼保護
編輯 pxelinux.cfg/default
label memtest86+-5.01.bin
menu label memtest86+-5.01.bin
MENU PASSWD password
kernel memtest
label memtest86+-5.01.bin
menu label memtest86+-5.01.bin
MENU PASSWD password
kernel memtest
pxelinux 使用 memtest
編輯 pxelinux.cfg/default
label memtest86+-5.01.bin
kernel memtest ==>更改名字,長檔名會有問題
label memtest86+-5.01.bin
kernel memtest ==>更改名字,長檔名會有問題
2015年5月29日 星期五
Using boot.ipxe via iPXE booting
/pxelinux.cfg/default 設定如下
default menu.c32
prompt 0
menu title pxe boot menu
label ipxe-boot
menu label Using boot.ipxe via iPXE booting
kernel ipxe.krn
append shell
下載 ipxe.krn
http://boot.ipxe.org/ipxe.iso
default menu.c32
prompt 0
menu title pxe boot menu
label ipxe-boot
menu label Using boot.ipxe via iPXE booting
kernel ipxe.krn
append shell
下載 ipxe.krn
http://boot.ipxe.org/ipxe.iso
相關檔案 ipxe.krn ldlinux.c32 libutil.c32 menu.c32 pxelinux.0 pxelinux.cfg/default
Apache Reverse設定筆記-支援 https 不使用 url rewrite
環境:
Proxy Server: Apache/2.2.15 (CentOS)
Web Server: Apache/2.2.15 (CentOS) 192.168.1.1
說明:
https://Reverse/i Reverse 至 https://192.168.1.1:895/i/
Proxy Server 安裝軟體
yum install mod_ssl openssl
編輯 Proxy Server /etc/httpd/conf/httpd.conf 加入
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so
SSLProxyEngine On
<Directory /i >
AllowOverride none
Require all denied
</Directory >
ProxyPass /i/ https://192.168.1.1:895/i/
ProxyPassReverse /i/ https://192.168.1.1:895/i/
192.168.1.1 apache log 修改設定支援 X-Forwarded
修改 /etc/httpd/conf/httpd.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
CustomLog "logs/access_log" combined env=!forwarded
CustomLog "logs/access_log" proxy env=forwarded
Proxy Server: Apache/2.2.15 (CentOS)
Web Server: Apache/2.2.15 (CentOS) 192.168.1.1
說明:
https://Reverse/i Reverse 至 https://192.168.1.1:895/i/
Proxy Server 安裝軟體
yum install mod_ssl openssl
編輯 Proxy Server /etc/httpd/conf/httpd.conf 加入
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so
SSLProxyEngine On
<Directory /i >
AllowOverride none
Require all denied
</Directory >
ProxyPass /i/ https://192.168.1.1:895/i/
ProxyPassReverse /i/ https://192.168.1.1:895/i/
192.168.1.1 apache log 修改設定支援 X-Forwarded
修改 /etc/httpd/conf/httpd.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
CustomLog "logs/access_log" combined env=!forwarded
CustomLog "logs/access_log" proxy env=forwarded
2015年5月28日 星期四
BASH SCIPT筆記-從字串中讀取一行字串
the_list="1
2
3
4
5
6
7
8
9
"
while IFS= read -r line
do
echo "$line"
done <<< "$the_list"
2
3
4
5
6
7
8
9
"
while IFS= read -r line
do
echo "$line"
done <<< "$the_list"
2015年5月12日 星期二
software raid (xfs 檔案系統 )修復筆記
mdadm --assemble /dev/md0 --run /dev/sda1
xfs_repair -L /dev/md0
xfs_admin -U generate /dev/md0
xfs_repair -L /dev/md0
xfs_admin -U generate /dev/md0
2015年5月4日 星期一
2015年4月20日 星期一
2015年4月14日 星期二
QNAP TS-879U 安裝 dropbear
原 ssh server 無法提供 admin 以外帳號登入,可安裝 dropbear 提供相關服務
另一種解法是在 /opt /opt/etc/init.d/ 目錄下 使用另一個 openssh 設定檔
1.安裝 ipkg dropbear 套件
2.修改 dropbear 設定檔
/opt/etc/default/dropbear
3.修改欲登入帳號設定
/etc/passwd
另一種解法是在 /opt /opt/etc/init.d/ 目錄下 使用另一個 openssh 設定檔
1.安裝 ipkg dropbear 套件
2.修改 dropbear 設定檔
/opt/etc/default/dropbear
3.修改欲登入帳號設定
/etc/passwd
2015年4月2日 星期四
node.js 讀取檔案每一行作個別處理
可解決檔案太大造成的
var rl = require('readline').createInterface(require('fs').createReadStream('content.txt'), new require('stream'));
rl.on('line', function(line) {
console.log(line);
console.log('==');
});
rl.on('close', function() {
console.log('close file');
});
process out of memory
var rl = require('readline').createInterface(require('fs').createReadStream('content.txt'), new require('stream'));
rl.on('line', function(line) {
console.log(line);
console.log('==');
});
rl.on('close', function() {
console.log('close file');
});
2015年3月17日 星期二
dnsmasq 設定範例
domain=private.network
dhcp-range=tag:g1,192.168.0.1,192.168.0.100
dhcp-option=tag:gluster,1,255.255.0.0
dhcp-option=tag:gluster,28,192.168.255.255
dhcp-option=tag:gluster,3,192.168.0.1
dhcp-option=tag:gluster,6,192.168.0.1
dhcp-option=tag:gluster,12,test2
dhcp-option=tag:gluster,15,abc.aas
dhcp-boot=tag:gluster,pxelinux.0,abc.ccc,192.168.10.211
dhcp-host=32:64:33:64:39:39,set:gluster,192.168.10.100,g4,infinite
dhcp-range=tag:g1,192.168.0.1,192.168.0.100
dhcp-option=tag:gluster,1,255.255.0.0
dhcp-option=tag:gluster,28,192.168.255.255
dhcp-option=tag:gluster,3,192.168.0.1
dhcp-option=tag:gluster,6,192.168.0.1
dhcp-option=tag:gluster,12,test2
dhcp-option=tag:gluster,15,abc.aas
dhcp-boot=tag:gluster,pxelinux.0,abc.ccc,192.168.10.211
dhcp-host=32:64:33:64:39:39,set:gluster,192.168.10.100,g4,infinite
常用 DHCP Option Code
1:Subnet Mask
3:Router Option
6:Domain Name Server Option
12:Host Name Option
15:Domain Name
28:Broadcast Address Option
參考
DHCP Options and BOOTP Vendor Extensions
https://tools.ietf.org/html/rfc2132
3:Router Option
6:Domain Name Server Option
12:Host Name Option
15:Domain Name
28:Broadcast Address Option
參考
DHCP Options and BOOTP Vendor Extensions
https://tools.ietf.org/html/rfc2132
PowerShell 取得目前系統其他 Powershell script 資訊
get-process -id $pid
write $pid == $args[0]
Start-Sleep 30
Get-WmiObject Win32_Process -Filter "name = 'PowerShell.exe'" | select CommandLine,Handle
write $pid == $args[0]
Start-Sleep 30
Get-WmiObject Win32_Process -Filter "name = 'PowerShell.exe'" | select CommandLine,Handle
Powershell lock file
try {
$LockFile = [System.io.File]::Open("e:\ps1\1.txt", 'Open', 'Read','None')
sleep 100
$LockFile.Close()
}
Catch
{
Break
}
$LockFile = [System.io.File]::Open("e:\ps1\1.txt", 'Open', 'Read','None')
sleep 100
$LockFile.Close()
}
Catch
{
Break
}
2015年2月3日 星期二
將 Linux initrd micro code 格式 initramfs 檔案轉為一般格式
$_MICRO_CODE micro code 格式 initramfs 檔案
$_NEWINITRD 轉換的檔案名稱
dd if=$_MICRO_CODE of=$_NEWINITRD bs=512 skip=$(cpio -t <$_MICRO_CODE 2>&1 |grep blocks |cut -d " " -f 1)
LogAnalyzer 3.4.3 + Syslog 建置摘要
環境: CentOS 6.2, LogAnalyzer 3.4.3
安裝需求套件
# yum install rsyslog rsyslog-mysql mysql-server \
httpd mod_ssl php php-gd php-mysql
建立 Syslog 資料庫
# mysql -u root -p < $(rpm -ql rsyslog-mysql | grep sql$)
Syslog 資料庫權限設置
# mysql -u root -p -A mysql
mysql> grant all privileges on Syslog.* to logger@localhost identified by 'loggerspasswd';
mysql> flush privileges;
mysql> exit
編輯 rsyslog.conf
# vi /etc/rsyslog.conf
於 #### MODULES #### 下一列加入
$ModLoad ommysql.so
取消以下內容的註解符號
$ModLoad imudp.so
$UDPServerRun 514
於 #### RULES #### 下一列加入:
*.* :ommysql:127.0.0.1,Syslog,logger,loggerspasswd
若要將遠端設備的 Log 記錄寫在某個檔案中, 可加入以下內容:
+ServerA
*.* /var/log/server-a.log
+ServerB
*.* /var/log/server-b.log
註. ServerA 與 ServerB 必須符合 SysLog 裡所出現的主機名稱; 完成後記得編輯 /etc/logrotate.d/syslog 讓 logrotate 處理這些新增加的 log 檔
重新啟動 rsyslog 服務
# service rsyslog restart
讓其他的 Linux Server 傳遞 Syslog 記錄給 Log Server
# vi /etc/rsyslog.sys
於 RULES 加入以下內容
*.* @my.log.server:514
註: @ 表示 UDP 傳輸; @@ 表示 TCP 傳輸
# service rsyslog restart
安裝 LogAnalyzer (下載頁面: http://loganalyzer.adiscon.com/downloads)
# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.3.tar.gz
# tar zxf loganalyzer-3.4.3.tar.gz
# rsync -a loganalyzer-3.4.3/src/. /var/www/LogAnalyzer/
# cd /var/www/LogAnalyzer
# touch config.php
# chmod 666 config.php
# vi /etc/httpd/conf.d/ssl.conf
DocumentRoot /var/www/LogAnalyzer
ServerName my.log.server:443
開啟瀏覽器連入 Log Server, 開始進行 LogAnalyzer 初始化設置
Step 3 - Basic Configuration:
Enable User Database: Yes
Database Name: Syslog
Database User: logger
Database Password: loggerspasswd
Require user to be logged in: Yes
安裝需求套件
# yum install rsyslog rsyslog-mysql mysql-server \
httpd mod_ssl php php-gd php-mysql
建立 Syslog 資料庫
# mysql -u root -p < $(rpm -ql rsyslog-mysql | grep sql$)
Syslog 資料庫權限設置
# mysql -u root -p -A mysql
mysql> grant all privileges on Syslog.* to logger@localhost identified by 'loggerspasswd';
mysql> flush privileges;
mysql> exit
編輯 rsyslog.conf
# vi /etc/rsyslog.conf
於 #### MODULES #### 下一列加入
$ModLoad ommysql.so
取消以下內容的註解符號
$ModLoad imudp.so
$UDPServerRun 514
於 #### RULES #### 下一列加入:
*.* :ommysql:127.0.0.1,Syslog,logger,loggerspasswd
若要將遠端設備的 Log 記錄寫在某個檔案中, 可加入以下內容:
+ServerA
*.* /var/log/server-a.log
+ServerB
*.* /var/log/server-b.log
註. ServerA 與 ServerB 必須符合 SysLog 裡所出現的主機名稱; 完成後記得編輯 /etc/logrotate.d/syslog 讓 logrotate 處理這些新增加的 log 檔
重新啟動 rsyslog 服務
# service rsyslog restart
讓其他的 Linux Server 傳遞 Syslog 記錄給 Log Server
# vi /etc/rsyslog.sys
於 RULES 加入以下內容
*.* @my.log.server:514
註: @ 表示 UDP 傳輸; @@ 表示 TCP 傳輸
# service rsyslog restart
安裝 LogAnalyzer (下載頁面: http://loganalyzer.adiscon.com/downloads)
# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.3.tar.gz
# tar zxf loganalyzer-3.4.3.tar.gz
# rsync -a loganalyzer-3.4.3/src/. /var/www/LogAnalyzer/
# cd /var/www/LogAnalyzer
# touch config.php
# chmod 666 config.php
# vi /etc/httpd/conf.d/ssl.conf
DocumentRoot /var/www/LogAnalyzer
ServerName my.log.server:443
開啟瀏覽器連入 Log Server, 開始進行 LogAnalyzer 初始化設置
Step 3 - Basic Configuration:
Enable User Database: Yes
Database Name: Syslog
Database User: logger
Database Password: loggerspasswd
Require user to be logged in: Yes
dmidecode 指令摘要
查詢特定 type dmidecode -t 0 #僅查詢 BIOS DMI 支援的 type DMI TYPES The SMBIOS specification defines the following DMI types: Type Information 0 BIOS 1 System 2 Base Board 3 Chassis 4 Processor 5 Memory Controller 6 Memory Module 7 Cache 8 Port Connector 9 System Slots 10 On Board Devices 11 OEM Strings 12 System Configuration Options 13 BIOS Language 14 Group Associations 15 System Event Log 16 Physical Memory Array 17 Memory Device 18 32-bit Memory Error 19 Memory Array Mapped Address 20 Memory Device Mapped Address 21 Built-in Pointing Device 22 Portable Battery 23 System Reset 24 Hardware Security 25 System Power Controls 26 Voltage Probe 27 Cooling Device 28 Temperature Probe 29 Electrical Current Probe 30 Out-of-band Remote Access 31 Boot Integrity Services 32 System Boot 33 64-bit Memory Error 34 Management Device 35 Management Device Component 36 Management Device Threshold Data 37 Memory Channel 38 IPMI Device 39 Power Supply
2015年1月16日 星期五
proxmox ve 3.3 安裝 glusterfs server 3.6
wget -O - http://download.gluster.org/pub/gluster/glusterfs/3.6/3.6.1/Debian/wheezy/pubkey.gpg | apt-key add -
echo deb http://download.gluster.org/pub/gluster/glusterfs/3.6/3.6.1/Debian/wheezy/apt wheezy main > /etc/apt/sources.list.d/gluster.list
apt-get update
apt-get install glusterfs-server
echo deb http://download.gluster.org/pub/gluster/glusterfs/3.6/3.6.1/Debian/wheezy/apt wheezy main > /etc/apt/sources.list.d/gluster.list
apt-get update
apt-get install glusterfs-server
2015年1月9日 星期五
OpenVZ VPS 安裝dnsmasq
加入以下設定
vzctl set $VEID --capability setuid:on --save
vzctl set $VEID --capability net_admin:on --save
vzctl set $VEID --capability net_raw:on --save
dnsmasq 設定範例
port= #取消 DNS 服務
# DHCP Setup
dhcp-leasefile=/var/lib/misc/dnsmasq.leases
interface=eth0
dhcp-range=192.168.1.101,192.168.1.120,2h
dhcp-option=1,255.255.255.0 #subnet mask
dhcp-option=28,192.168.1.255 #broadcast
dhcp-option=3,192.168.1.253 #default gateway
dhcp-option=6,192.168.1.10 #DNS
其他參考設定
停用 DHCP 供應介面 eth0 裝置
no-dhcp-interface=eth0
設定 DNS 緩存數量 (最大上限是 10000,預設值 150)
cache-size=1000
設定 DNS 監聽地址
listen-address=127.0.0.1
vzctl set $VEID --capability setuid:on --save
vzctl set $VEID --capability net_admin:on --save
vzctl set $VEID --capability net_raw:on --save
dnsmasq 設定範例
port= #取消 DNS 服務
# DHCP Setup
dhcp-leasefile=/var/lib/misc/dnsmasq.leases
interface=eth0
dhcp-range=192.168.1.101,192.168.1.120,2h
dhcp-option=1,255.255.255.0 #subnet mask
dhcp-option=28,192.168.1.255 #broadcast
dhcp-option=3,192.168.1.253 #default gateway
dhcp-option=6,192.168.1.10 #DNS
其他參考設定
停用 DHCP 供應介面 eth0 裝置
no-dhcp-interface=eth0
設定 DNS 緩存數量 (最大上限是 10000,預設值 150)
cache-size=1000
設定 DNS 監聽地址
listen-address=127.0.0.1
訂閱:
文章 (Atom)