宜蘭縣教育支援平台 會員登入 會員註冊 我的i教書

有時候須要利用 sed 來修改設定檔
原本的檔案,要在 1 和 4 之間插入 2 & 3
# cat /root/testfile
1
4
5
6
7

 (閱讀全文)

手上有一份 IP 和 Mac address 的對照表
# cat ipmac.txt
192.168.1.112 00:0c:29:ac:47:64
192.168.1.254 50:67:f0:19:cf:a4
192.168.1.2 ac:22:0b:50:49:ea
192.168.1.5 00:1d:7d:d5:2f:d3
192.168.1.100 00:11:32:0c:da:e2
192.168.1.101 28:cf:e9:80:0c:76

想要以 IP 排序由小到大,但一直都無法試驗成功
# sort -n ipmac.txt
192.168.1.100 00:11:32:0c:da:e2
192.168.1.101 28:cf:e9:80:0c:76
192.168.1.112 00:0c:29:ac:47:64
192.168.1.254 50:67:f0:19:cf:a4
192.168.1.2 ac:22:0b:50:49:ea
192.168.1.5 00:1d:7d:d5:2f:d3

 (閱讀全文)

在 Ubuntu 14.04 LTS Server 上安裝 arp-scan 工具
# apt-get install arp-scan

在 CentOS 6.x 上安裝
# yum install arp-scan --enablerepo=epel

利用 arp-scan 進行偵測
# arp-scan --localnet
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.2     ac:22:0b:50:49:ea       (Unknown)
192.168.1.5     00:1d:7d:c5:2f:d3       GIGA-BYTE TECHNOLOGY CO.,LTD.
192.168.1.100   00:11:23:0c:da:e2       Synology Incorporated
192.168.1.101   28:cf:e9:80:0c:76       (Unknown)
192.168.1.112   00:0c:29:ac:47:64       VMware, Inc.
192.168.1.254   50:67:fa:19:cf:a4       ZyXEL Communications Corporation

9 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 256 hosts scanned in 2.316 seconds (110.54 hosts/sec). 7 responded

 (閱讀全文)

在 Ubuntu Server 執行 Shell Script 時出現下面的訊息
# sh firewall.t
Set external ......

firewall.t: 43: firewall.t: let: not found
firewall.t: 44: firewall.t: let: not found
firewall.t: 45: firewall.t: let: not found
firewall.t: 46: firewall.t: let: not found

看起來似乎是找不到 let 這一個命令,但這個 Shell Script 在 CentOS 上是沒有問題的

 (閱讀全文)

讓 Linux Console 也五顏六色,多采多姿!

 (閱讀全文)

從 /var/lib/dhcpd/dhcpd.leases 取出要的網路卡卡號
# cat /var/lib/dhcpd/dhcpd.leases | grep hard | awk '{print $3}'
d0:df:c7:f9:5c:ef;
00:26:51:0d:53:40;
00:11:93:88:7a:00;
00:15:58:6b:7d:da;
00:15:58:6b:7d:da;
00:15:58:6b:7d:da;
00:15:58:6b:7d:da;

經過處理,只取出想要的部分
# cat /var/lib/dhcpd/dhcpd.leases | grep hard | awk '{print $3}' | sed 's/.$//' | sort | uniq
00:11:93:88:7a:00
00:15:58:6b:7d:da
00:26:51:0d:53:40
d0:df:c7:f9:5c:ef

整理完的資料檔
# cat /root/mac
server1,00:11:93:88:7a:00,192.168.1.11
server2,00:15:58:6b:7d:da,192.168.1.12
server3,00:26:51:0d:53:40,192.168.1.13
server4,d0:df:c7:f9:5c:ef,192.168.1.14

 (閱讀全文)

人還是習慣用 10 進位,遇到 2 / 10 / 16 進位的轉換,可能就要藉助紙筆或是計算機的幫忙,底下是在 Linux Console 中使用 Bash Shell 內建的功能來做轉換。

2 進位轉成 10 進位
# echo $((2#111111))
63

16 進位轉成 10 進位
# echo $((16#c0))
192

10 進位轉成 2 進位
# echo "obase=2;17"|bc
10001

10 進位轉成 16 進位
# echo "obase=16;17"|bc
11

Linux 安裝完成之後,如果沒有在手動或自動安裝中設定好網路組態,通常就要手動設定網路,但如果是用由 DHCP Server 自動取得 IP,會節省許多的時間,但如果是 Server 的話,還是使用固定 IP 會比較好。

 (閱讀全文)

每學年初都會由校務行政系統由擷取新的學生資料,並搭配亂數密碼,使用 awk 來大批產生學生帳號,在建立學生帳號時,可以建立硬碟容量限制 Quota、建立 Samba 密碼、建立學生個人網頁、設定帳號使用期限、初始化個人目錄設定.......等等,一些瑣碎的事都可以一個步驟完成。
在處理 Open LDAP Server 時,也想要利用這樣的方式來處理這個部份,稍微試了一下,看起來應該是沒有太大的問題。
底下是實驗的學生資料,以 csv 格式,每個學生一列資料,以空格當做欄位間隔
欄位分別是 班級 座號 姓名 帳號 密碼 群組
# head -2 102_class41.lst
四忠 01 蔡中火 s0990499 123456 s0990
四忠 02 陳大水 s0990999 234567 s0990

 (閱讀全文)

針對一些不容易查到網路卡卡號的設備
# cat /var/log/messages | grep "no free leases" | awk '{OFS=","}{print $1,$2,$8,$10,$12}' | sort | uniq
Oct,15,00:0c:29:67:73:72,eth0:,140.111.74.0/24:
Oct,15,00:11:93:88:7a:00,eth0:,140.111.74.0/24:
Oct,15,00:14:2a:3e:c7:5e,eth2:,192.168.250.0/24:
Oct,15,00:14:2a:3e:d1:00,eth2:,192.168.250.0/24:
Oct,15,00:26:51:0d:53:40,eth0:,140.111.74.0/24:
Oct,15,00:26:5a:be:5a:88,eth1:,192.168.249.0/24:
Oct,15,14:7d:c5:9f:68:b1,eth2:,192.168.250.0/24:
Oct,15,18:34:51:c0:40:14,eth2:,192.168.250.0/24:
Oct,15,6c:62:6d:63:8f:80,eth0:,140.111.74.0/24:

 (閱讀全文)