交談式shell script的應用

有時候寫一些linux上的script, 該script需要執行某些程式,
然後這些程式需要我們需要回答問題, 若要做到無人值守的功能,
其中一個方式就是改用except 的方式
長得很像這樣
———– demo.sh ————–
#!/usr/bin/except
spawan “要執行的程式”
expect “該程式的問句”
send “回答問題的答案”
————————————

原本應該這樣
———— demo.sh ————–
#!/bin/sh
“要執行的程式”
exit 0
————————————

 

簡易的網站綁架方式

前一陣子工作上的電腦受到流氓網站綁架網頁(http://www.kk4000.cn/).
試了無數種方式都沒辦法解決,這些超強防毒&掃木馬的軟體為什麼都無法解決呢?
原因在於:電腦並沒有被植入惡意軟體,當然找不出來了.

真是見鬼了…

後來試了一個很簡單的方式(這方式早就有人發表,但我一直不相信怎麼這麼簡單) :
刪除桌面上所有能啟用IE相關的捷徑. 然後重新拉IE連結即可.
我照著做果然成功了….

後來用ultraedit編輯該有問題的捷徑檔案, 發現裡面設定一個流氓網站的連結,難怪永遠無法解決…

這說明了一件事情:
這些防毒,除掉木馬的軟體, 目標只在除掉有害的軟體,但是卻忽略了這麼簡單滿天過海手法(應該是效率考量,才不列入特徵比對吧)

 

Linux 整合AD登入認證

公司ERP(tiptop) 使用 linux 系統(RHEL5)
因此登入的時候若能整合AD
將是再好不過了.
初期網路上找一找,很快就能使用AD帳號登入
http://www.linuxmail.info/active-directory-linux/

但是若公司有多個網域怎麼辦呢?
這個我試了很多次都失敗
後來將samba升級成3.5.x,就可以完成了.
以下是簡單步驟

1. 網域須互相信任(互相信任時,須提供共用帳號與密碼)
2. samba升級成3.5.x
3. 在linux上使用上述互相信任的帳號,執行加入網域指令
net rpc join  -U <信任帳號>
net ads join  -U <信任帳號>
4. 重開winbind
5. 檢查是否成功
getent passwd
若出現多網域使用者訊息,即代表成功.
6. 開心登入囉, 登入時帳號格式:  “domain alias””account”
ex:
yahoouserwilliam

ps. 重點在於rhel 5.5 的samba只能更新到3.0.x, 必須另外找方式升級到3.5.x
我的環境:
rhel 5.5
samba 3.5.x


後記

當這樣做的時候,可能會造成原本passwd上面帳號認證的錯誤
請修改/etc/pam.d/system-auth
將uid500改成passwd上最大的uid號碼即可

bind的ddns策略

bind從8.1.2開始支援RFC2136,也就是俗稱的ddns功能.
但是要動態修改,目前只能依靠nsupdate指令.

一般的ddns策略為:
1. 提供web介面申請帳號密碼以及對應的主機名稱
2. 使用者透過程式,若偵測ip更動,自動跟web server聯繫,提供新的ip.
現在一般ip分享器提供數個熱門ddns廠商,應該很方便使用.

若有自己的domain需要提供給大家申請,有兩種作法:
1. 跟ddns提供商申請(當然要給錢)
2. 自製ddns服務

自製ddns也不會很複雜
安裝bind之後,自己寫一個socket server.
client固定時間連線到socket server將申請的主機名稱傳送過去,
socket server收到連線後,會立即知道對方ip,
接下來做些簡單的帳號認證,
做完認證之後,server將對方ip,主機名稱與原來的做比對,若不一樣,
就執行nsupdate指令,修改ddns.

1 ... 54 55 56 57