2012年11月5日 星期一

Ubuntu 12.04 後 修改的resolv.conf檔案內容在重新開機後會自動重置的解決辦法

Ubuntu 12.04後若直接修改resolv.conf檔案,在系統重新開機後,resolv.conf的內容會被重置,導致要上網時沒有DNS Server可以而無法上網的狀況發生!不清楚Ubuntu原廠為何會多了這ㄍ鳥設定>"<解決的辦法須直接在/etc/resolvconf/resolv.conf.d下的base檔案內添加需要的dns server IP,例如在base內加入以下設定:
nameserver 168.95.1.1
存檔後須重新啟動網路服務:

 sudo service networking restart

若網路服務重新啟動後依然無法上網,可以重新開機試試!此時可以發現/etc/resolv.conf的內容已經自動被更改為
resolv.conf

現在,網路功能應該可以正常使用了!

2012年11月1日 星期四

Ubuntu 12.10下掛載網路芳鄰(samba)上的分享資料夾

Ubuntu 12.10下不再有smbfs套件,要掛載網路芳鄰(samba)下分享的資料夾,需安裝 cifs-utils 套件套件!
 sudo apt-get install cifs-utils

如此,便可以使用mount 或mount.cifs來掛載網路芳鄰下分享的資料夾了!(cifs-utils的mount.cifs不支援codepage參數!!)

2012年9月27日 星期四

Fail2ban----防止暴力密碼猜測

Ubuntu下安裝:
sudo apt-get update
sudo apt-get install fail2ban

fail2ban的設定檔位置在/etc/fail2ban,有以下項目:
1.jail.conf(jail.local)
 主要設定檔,定義filter與action的對應
2.fail2ban.conf
  fail2ban的設定檔,設定logtarget、socket、loglevel等
3.filter.d/
  存放fail2ban過慮條件的資料夾,目錄內已經預設多種過濾條件
4.action.d/
  存放fail2ban阻擋動作的檔案設定

jail.conf的設定:
設定檔分為全域設定與個別設定;
全域設定:為預設的設定值,開頭名稱為DEFAULT,全域設定與個別設定衝突時,以個別設定為主

ignoreip = 127.0.0.1/8 # 忽略不限制的ip
  
bantime  = -1 # ip被阻擋的時間,單位:秒,-1表示永久阻擋
  
findtime  = 600 # 觸發的時間區間
  
maxretry = 3 # 最高嘗試錯誤的次數,實際上當設定為3時,當第4次錯誤後才會被阻擋!

backend = auto #選擇用哪一種方式去檢查要偵測的檔案是否有異動,可設定pyinotify,gamin,polling或auto。

個別設定,就是啟動要監視的服務,以ssh為例,要修改的位置如下:
[ssh] #開頭名稱可以自定 enabled = true #trur:啟用,false:停用 port = ssh #服務使用的port filter = sshd #監看的程序名稱
action = iptables[name=SSH,port=22,protocol=tcp] #指定達成條件後要執行的動作,若服務使用標準port,這一項設定可以省略,若服務使用的port不是標準port,須透過這項設定來指定服務使用的port logpath = /var/log/auth.log #需監看的記錄檔 maxretry = 3 #最高嘗試錯誤的次數
設定完須重新啟動fail2ban!

查看fail2ban2的阻擋狀態
sudo fail2ban-client status ssh  #指定的服務名稱須和jail.conf內的設定一致
Status for the jail: ssh
|- filter
|  |- File list:        /var/log/auth.log
|  |- Currently failed: 0
|  `- Total failed:     0
`- action
   |- Currently banned: 0
   |  `- IP list:
   `- Total banned:     0

sudo fail2ban-client status postfix
Status for the jail: postfix
|- filter
|  |- File list:        /var/log/mail.log
|  |- Currently failed: 1
|  `- Total failed:     6
`- action
   |- Currently banned: 0
   |  `- IP list:
   `- Total banned:     1



2012年7月26日 星期四

Ubuntu 12.04 安裝系統服務與資源的監控軟體─Monitorix

先安裝以下套件
sudo apt-get install apache2 rrdtool libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl
到以下網址下載Monitorix deb package 
http://www.monitorix.org/downloads.html
安裝下載的 deb package
sudo dpkg -i monitorix_2.5.2-izzy1_all.deb
接著連上網址即可看到畫面
http://serverip/monitorix/
若看不到畫面記得調整網頁目錄的CGI執行權限即可!

2012年7月12日 星期四

VMware Workstation 8 執行虛擬系統時出現錯誤訊息:“You have an incorrect version of driver vmci.sys”

在所安裝虛擬系統的資料夾下找到以下檔案xxxx.vmx〈例如虛擬系統名稱是WINXP,那在虛擬系統安裝的資料夾下會有一個WINXP.vmx檔案〉,利用記事本打開它!接著找到以下這一行:
vmci0.present = "true"
改成
vmci0.present = "false"
再開啟虛擬機器即可!

2012年7月7日 星期六

win7 網路磁碟機自動中斷

win7 網路磁碟機在閒置一段時間後會自動中斷連線,這個爛設定有時會造成許多不便!可以使用下列指令修改:

調整分鐘數:
net config server /autodisconnect:number
取消這個機制:
net config server /autodisconnect:-1



詳細內容可以參考微軟的說明http://support.microsoft.com/kb/297684/zh-tw#LetMeFixItMyselfAlways

2012年6月7日 星期四

Ubuntu 12.04下安裝SendmailAnalyzer

先至SendmailAnalyzer官網下載SendmailAnalyzer,並將檔案放至要安裝的Linux主機上。
SendmailAnalyzer官方有寫明安裝的系統需求,轉載如下:

Requirement

SendmailAnalyzer can work in any platform where Sendmail and Perl could run. What you need is a modern Perl distribution 5.8.x or more is good but older version should also work.
You need the following Perl modules. If they are not yet include in your OS distribution you can always find them at http://search.cpan.org/
        MIME::Base64;
        MIME::QuotedPrint;
        GD
        GD::Graph
        GD::TextUtil
        GD::Graph::bars3d;
Or if you have Internet access from your server, you can execute the following command to install GD::Graph::bars3d and all its dependencies.
 perl -MCPAN -e 'install GD::Graph::bars3d'
The graph output are generated using the libgd and libpng. You can get them at the following places:
 http://www.libgd.org/
 http://www.libpng.org/
安裝:
先至下載的SendmailAnalyzer檔案位置下,執行
tar xzf sendmailanalyzer-x.x.tar.gz
接著進入解壓縮的資料夾內
cd sendmailanalyzer-x.x/
以管理員身分執行以下指令
perl Makefile.PL
make && make install
預設會將SendmailAnalyzer安裝在/usr/local/sendmailanalyzer,接著修改
/usr/local/sendmailanalyzer/sendmailanalyzer.conf內容,將LOG_FILE修改如下
LOG_FILE        /var/log/mail.log
存檔後離開! 
接著到apache下新增一個
SendmailAnalyzer site讓SendmailAnalyzer使用。
cd /etc/apache2/sites-available/
vim sendmailanalyzer
接著輸入如下內容
Alias /SendmailAnalyzer /usr/local/sendmailanalyzer/www
<Directory /usr/local/sendmailanalyzer/www>
  Options ExecCGI
  AddHandler cgi-script .cgi
  DirectoryIndex sa_report.cgi
  Order deny,allow
  Deny from all
  Allow from 127.0.0.1
  Allow from 192.168.1.0/24
</Directory>
上方設定只允許server本機及192.168.1.0/24登入SendmailAnalyzer
接著啟用SendmailAnalyzer site並重新載入apache
a2ensite sendmailanalyzer
service apache2 reload

接著設定SendmailAnalyzer成為服務,並使其在系統開機時自動啟動
在/etc/init.d下做/usr/local/sendmailanalyzer下sendmailanalyzer的聯結
ln /usr/local/sendmailanalyzer 
執行update-rc.d 讓sendmailanalyzer成為服務
update-rc.d sendmailanalyzer defaults

設定crontab讓sendermailanalyzer每5分鐘讀取一次mail.log
crontab -e
*/5 * * * * /usr/local/sendmailanalyzer/sa_cache -a > /dev/null 2>&1

至此,sendermailanalyzer安裝完成,若進入sendermailanalyzer畫面卻看不到圖表,應該是有缺少某些Perl modules,試試以下指令:
apt-get update
apt-get install php5 php5-gd libtemplate-plugin-gd-perl



2012年6月5日 星期二

讓ubuntu開機後自動執行指定的script

ubuntu 中若要開機/關機執行某些script,須將script加入/etc/init.d目錄中,再依執行的runlevel將/etc/rcX.d對應/etc/init.d目錄中的script作softlink,雖然只是幾個步驟但有點小複雜>"<以上這些動作可以藉由update-rc.d命令輕鬆完成。
1.先將欲直行的script放置在/etc/init.d目錄下
2.執行
sudo update-rc.d default 99 1
default:不指定要設定第幾runlevel,則rc0.d~rc6.d都會加入softlink
99:表示開機執行的順序,越小越早執行
1:表示關機執行的順序,越小越早執行
開機與關機執行順序數值介於00~99之間,通常會讓兩數值相加為100,如此開機過程中越早開啟的程序在關機時將越晚關閉。
update-rc.d用法參閱man update-rc.d

2012年5月31日 星期四

回復被amavis隔離的信件

被amavis隔離的信件會存放在/var/lib/amavis/virusmails下的資料夾以0-9,A-Z,a-z依郵件ID編號開頭存放在所屬的資料夾內,若有被誤檔的信件想要救回則需要先確認該信件的郵件編號後,在/var/lib/amavis/virusmails下的資料夾內找到該信件的檔案後,將其搬移到要給予的使用者的郵件存放資料夾下,若是mail server的郵件格式是使用maildir格式,則應將其檔案搬移至所屬使用者的Maildir資料夾下的new資料夾下!接著要確認該使用者對這個郵件檔案有讀取和寫入的權限,如此才可以正常讀取和刪除該郵件!

2012年5月29日 星期二

Windows XP runas批次檔自動帶入密碼

runas指令可以讓非管理員身分的帳號直接用指令的帳號執行需要的程式,感覺上有點像linux上的su和sudo指令,但runas執行時需要在螢幕上輸入指定使用帳號的密碼!若想要將runas寫成批次檔形式可以用以下方法來解決密碼輸入的問題!
利用vbscript來完成需要的動作,如下,利用vbscript來完成關機的動作;
新增一個shutdown.vbs的文字檔,文字檔內容如下:

set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:administrator ""C:\WINDOWS\system32\shutdown.exe -s -f -t 02"""
WScript.Sleep 1000
WshShell.Sendkeys "password~"
上方runas /user:administrator表示我要使用administrator這個號,
C:\WINDOWS\system32\shutdown.exe -s -f -t 02是我要執行的指令,我希望強制電腦關機在兩秒後!
WshShell.Sendkeys "password~"中的password是administrator的密碼,~表示carriage return。

若不希望user打開vbs的看到其中的內容,可以至微軟官網下載 script encoder 將其加密為.vbe
http://www.microsoft.com/downloads/details.aspx?FamilyId=E7877F67-C447-4873-B1B0-21F0626A6329&displaylang=en

先將上述檔案內容改成如下:

'**Start Encode**
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:administrator ""C:\WINDOWS\system32\shutdown.exe -s -f -t 02"""
WScript.Sleep 1000
WshShell.Sendkeys "password~"

接著將完成的shutdown.vbs放在在screnc.exe的所在目錄下,並在此執行以下指令

screnc /l vbscript shutdown.vbs shutdown.vbe
接著給予與user 加密過的shutdown.vbe執行即可!



網路功能正常但IE卻無法連線

當網路上所有的功能都正常,但開啟IE時卻無法上網,換句話說只要透過IE執行的網路都無法使用!這可能是 Winsock2機碼因為不明原因毀損了!此時可以嘗試下面指令修復 Winsock2機碼!
以管理員的身分打開命令提示字元視窗,接著輸入以下指令:
netsh winsock reset
執行完後重新啟動電腦即可!

2012年5月15日 星期二

在Ubuntu下查看網路卡連線速度

在Ubuntu下可以使用 dmesg | grep ethX 指令來查看網路卡的連線速度,會顯示如下訊息:

demo@demo:~$ dmesg | grep eth0

[    2.145551] eth0: SiS 900 PCI Fast Ethernet at 0xe800, IRQ 19, 00:01:6c:d5:01:c1
[    7.417667] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   17.876974] eth0: Media Link On 100mbps full-duplex
[   26.144019] eth0: no IPv6 routers present
但也可能因為網路卡晶片組的關係,使用dmesg無法看見網路卡連線速度的相關訊息,這時可以使用ethtool這支程式來查看網路卡的速度。
ethtool在Ubuntu沒有內建,須先手動安裝:
demo@demo:~$ sudo apt-get update
demo@demo:~$ sudo apt-get install ethtool
ethtool必須使用管理員的權限執行,且執行時需指定要觀看的網路卡,例如:
demo@demo:~$ sudo ethtool eth0

Settings for eth0:

        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pg
        Wake-on: d
        Current message level: 0x000000c5 (197)
                               drv link rx_err tx_err
        Link detected: yes
至於ethtool其他功能可利用man指令查看!

2012年5月3日 星期四

ZOT Printer Server

今天為了在Epson 2910C裝上ZOT  PU201S,搞了好久,列印的內容就是無法順利輸出!後來打電話去ZOT的客服詢問,才得知ZOT有USB介面的Printer Server在連接任何點矩陣的印表機時,都會有問題!不是無法列印,就是列印格式出狀況!結論,要使用ZOT的Printer Server連接任何點矩陣的印表機時,請選LPT介面的Printer Server.......>"<

2012年4月12日 星期四

/etc/security/limits.conf 設定

/etc/security/limits.conf和 ulimit的功能是一樣的,差別在ulimit是及時設定,/etc/security/limits.conf是預設系統上所有使用者的限制!/etc/security/limits.conf格式如下:
#帳號 限制依據 限制項目 限制值

帳號限制類別限制項目限制值
@開頭代表群組,也可用*代表所有soft,hard和-,soft是警告設定。hard是嚴格設定。soft的值不能比hard大。用-表示同時設定了soft和hardcore file size,data seg size,scheduling priority,file size,pending signals ,max locked memory ,max memory size,open files,pipe size,POSIX message queues,real-time priority,stack size,cpu time,max user processes,virtual memory,file locks限制的數量
另外,limits.conf的設定要生效,須在/etc/pam.d/login的內容中有session    required   pam_limits.so這段內容!且由於 PAM是在程式呼叫時才設定,因此修改完成的資料, 對於已登入系統中的使用者是沒有效果的,需再次登入時才會生效!

檔案系統及程序的限制關係:ulimit


ulimit [-SHacdfltu] [配額數]
選項與參數:
-H  :hard limit ,嚴格的設定,不能超過這個設定值;
-S  :soft limit ,警告的設定,可以超過這個設定值,但是超過則有警告訊息。
      通常設定上, soft會比hard小,例如soft設定為90而hard設定為100,那麼你可以使用到95(因為沒有      超過100),但介於90~100之間時,系統會有警告訊息!
-a  :後面不接任何選項與參數,可列出所有的限制額度;
-c  :當某些程式發生錯誤時,系統會將該程式在記憶體中的資訊寫成檔案(除錯用),這種檔案被稱為核心       檔案(core file)。此設定限制每個核心檔案的最大容量。
-f  :限制可以建立的最大檔案容量單位為Kbytes
-d  :程序可以使用的最大斷裂記憶體(segment)容量;
-l  :可用於鎖定(lock)的記憶體量
-t  :可使用的最大 CPU 時間 (單位為秒)
-u  :單一使用者可以使用的最大程序(process)數量。
例:
列出目前身份的限制資料
mnw@ap:/$ ulimit -a
core file size          (blocks, -c) 0     <<---0代表沒有限制
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited  <<---可建立的單一檔案大小
pending signals                 (-i) 15924
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024  <<---可以同時開啟的檔案數量
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15924
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

現在單一檔案容量上限10MB
mnw@ap:/$ ulimit -f 10240
mnw@ap:/$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) 10240  <<---10240 Kbyes=10 MB
pending signals                 (-i) 15924
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15924
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

mnw@ap:/$ dd if=/dev/zero of=123 bs=1M count=20
dd: opening `123': Permission denied  <<---要建立20MB的檔案,失敗了!



Squid的安裝與設定

安裝
sudo apt-get install squid3
查看squid的版本
squid3 -v
編輯設定檔
sudo vim /etc/squid3/squid.conf
指定squid使用的port,可以只指定port,也可以ip:port的方式指定squid綁定的IP與port,例如http_port 192.168.123.254:3128
http_port 3128
squid是以存取控制清單的方式來辨別是否接受客戶端的存取要求!存取控制清單的格式為「acl <名稱> <種類> <設定值>」,<名稱>可以任意指定,但不可重複!squid一般只接受本地端網路的存取,可以建立一個允許本地端網路存取的清單,如:
acl mynetwork src 192.168.123.0/24
建立存取清單後,需設定squid接受(allow)或拒絕(deny)存取清單的連線要求。參數為「http_access」,例如:http_access allow mynetwork,表示接受mynetwork這ㄍ存取清單的要求,http_access deny mynetwork則為拒絕!http_access會依照設定的先後順序加以套用規則!
http_access allow mynetwork
squid預設已有許多http_access的設定去阻擋一些不必要的連線,建議保留這些設定,並避免把自己的設定值插在這些預設值當中!若要加入自己的設定,可以在設定檔中找到以下註解,
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
可以在此行之後依需求插入個人的設定。
若只允許本地端網路存取squid,可以加入「http_access deny !mynetwork」,表示只要不屬於mynetwork清單上的網路位址,即禁止存取!
http_access deny !mynetwork
squid預設不允許其他主機存取,所以會在所有的http_access設定值之後加上「http_access deny all」,表示存了先前已設定為允許存取的清單之外,禁止任何主機使用squid!建議不可拿掉此行設定,避免主機成為他人進行攻擊
的跳板!
http_access deny all
修改完設定檔後需重新啟動squid,才可使設定生效!若重新啟動squid時出現「無法決定主機位址」的錯誤訊息,可以在設定檔中加入一行「visible_hostname <網路位址>」的設定,如「visible_hostname localhost」,可以避免此錯誤訊息!

存取控制清單的格式
acl <名稱> <種類> <設定值>

種類名稱說明設定值
src 存取要求清單的來源位址 單一或區段IP位址,例如192.168.1.0/或192.168.1.0/24或192.168.1.0/255.255.255.0
dst 存取要求清單的目的位址,只會執行一次DNS查詢,確認主機的IP 單一或區段IP位址,例如192.168.1.0/或192.168.1.0/24或192.168.1.0/255.255.255.0
myip 用來表示squid所使用的IP位址,通常只有squid主機同時擁有兩個以上IP位址時才會使用這個設定 IP位址

種類名稱說明設定值
srcdomain 存取要求清單的來源網域名稱,會進行DNS反查以確認IP的正確性,若反查失敗則此設定值無法使用! 網域名稱,例如.demo.com
dstdomain 存取要求清單的目的網域名稱,每次使用時都進行DNS查詢,確認主機的IP,與dst參數相比可以取得較正確的資訊! 網域名稱,例如demo.com
需注意網域名稱前方是法有「‧」,例如「demo.com」代表demo.com這台主機,「.demo.com」代表任何以「demo.com」結尾的主機!

種類名稱說明設定值
port 指定遠端伺服器使用的port,以數字表示,可以是單一port,也可以是連續port 22,20-21
myport 指定自身提供的服務使用的port,以數字表示,可以是單一port,也可以是連續port 80,3128
例如下列設定:
acl http_acc myport 80 #開啟 80 port的加速功能
acl proxy myport 3128 #開啟 3128 port的proxy功能
acl my_net 192.168.1.0/24 #指定內部網段
http_access allow http_acc #允許任何機器存取80 port
http_access allow proxy my_net #只允許內部網段存取 3128 port
http_access deny proxy #拒絕其他機器存取proxy

時間種類控制清單:可以用來設定squid規則的有效時間
格式:acl 名稱 星期幾 h1:m1-h2:m2
acl名稱星期幾h1:m1-h2:m2
使用大寫英文字母代號,可同時指定二天以上開始至結束的時間
星期幾代號:
星期幾全部
代號SMTWHFAD
例如:
週一至週五,早上八點至下午六點為工作時間,設定如下
acl_work_hours MTWHF 08:00-18:00
每天上午七點至下午七點為工作時間,設定如下
acl day_hours D 07:00-19:00

maxconn:可以指定同一個IP位址同時間可以使用的最大連線數量
例如:
acl OverConneLimit maxconn 5
http_access deny OverConneLimit #表示每一個IP同時間最多只能有5個連線與squid溝通,超過即拒絕!

arp:指定網路裝置的MAC位址
例如:
acl bad_host arp 00:01:02:03:04:05
http_access deny bad_host #拒絕指定MAC位址的網路設備連線




2012年4月5日 星期四

Ubuntu 11.10下amavis的白名單與黑名單設定

編輯/etc/amavis/conf.d/50-user,在

#------------ Do not modify anything below this line -------------
1;  # ensure a defined return
位置上方加入以下設定
#啟動whitelist自動學習功能
$sa_auto_whitelist = 1;
#指定whitelist與blacklist的所在位置;這兩個檔案需手動新增,並讓amavis對它們有讀取的權限,檔案不存在或amavis無法存取,將造成amavis的啟動失敗!
read_hash(\%whitelist_sender,'/var/amavis/whitelist');
read_hash(\%blacklist_sender,'/var/amavis/blacklist');
存檔後在whitelist或blacklist檔案內再加入要設定的郵件來源,格式如下:
user@user.com
*@test.tw
demo.com.tw

最後重新啟動amavis即可!

service amavis restart
另外,被amavis刪除的信件(例如被判定為垃圾郵件而刪除)會暫時存放在
/var/lib/amavis/virusmails!
PS:在amavis設定檔中,以$sa開頭的設定值均為spamassassin的設定值;在amavis設定檔中有設定的參數,會使得在/etc/spamassassin/local.cf內的相同參數失效!!

2012年3月27日 星期二

Postfix設定檔語法檢查

以管理員權限執行以下指令:
postfix check
如果沒有任何訊息出現,表示一切正常,否則postfix會指出錯誤之處!

查看系統中正在執行的程式之資料

ps
-l:長格式顯示
-u:顯示使用者名稱和起始時間
-i:顯示各程式的詳細執行情況
-s:顯示各程式的訊號名稱
-v:顯示虛擬記憶體使用情況
-m:顯示記憶體分配情形
-f:顯示執行的路行群
-a:其它使用者執行的程式一併顯示出來
-x:顯示所有程序
-r:顯示前景執行的程式
-c:只顯示執行程式的名字
-e:顯示執行程式的環境變數
-f:不顯示標題欄
-w:若訊息一列無法容納,則換列顯示

Linux下搜尋文件檔案內容

例如,搜尋/etc/amavis/conf.d下所有文件內有包含whitelist的檔案
grep /etc/amavis/conf.d/* -e whitelist

2012年3月26日 星期一

LINUX核心模組的觀察:lsmod,modinfo

lsmod:顯示目前核心載入了多少模組,顯示的內容包括

  • 模組名稱(Module);
  • 模組的大小(size);
  • 此模組是否被其他模組所使用 (Used by)
modinfo:顯示模組的資訊
modinfo [-adln] [module_name|filename]
-a  :僅列出作者名稱;
-d  :僅列出該 modules 的說明 (description);
-l  :僅列出授權 (license);
-n  :僅列出該模組的詳細路徑。

顯示LINUX系統硬體訊息

指令:dmesg
例如:顯示網路卡的訊息
dmesg | grep eth

檢查已安裝的postfix版本

dpkg -l |grep postfix

postconf -d |grep mail_version

postconf mail_version

postconf常用參數,請參閱

常用postconf參數設定



2012年3月22日 星期四

Ubuntu 版本升級

先安裝update-manager-core 套件:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install update-manager-core 

接著編輯 /etc/update-manager/release-upgrades ,並且修改 Prompt的值,一般版為normal,長效版為lts,例如要升級為11.10的版本為一般版,則Prompt的值設定如下
Prompt=normal 
接著執行升級指令
sudo do-release-upgrade
依畫面指示完成程序後,重開機即可!

2012年3月20日 星期二

常用postconf參數設定

postconf:顯示目前postfix設定的參數,若該參數未設定,顯示預設值
postconf 參數名稱:顯示某一參數的預設值
postconf -n:顯示目前與預設值不同的參數設定
postconf -d:顯示所有postfix的預設參數值
postconf -d 參數名稱:顯示某一參數現在的值
postconf -h 參數名稱:只顯示參數值,不顯示參數名稱
postconf -d |wc -l 計算postfix全部參數數量

wc 列出文件內容有多少行,多少單字,多少字元數
-l :僅列出行
-w  :僅列出多少字(英文單字)
-m  :多少字元


postconf -也可以修改main.cf的設定
postconf -e 設定項=參數值,「=」兩邊不可以有空白;若有空白,要使用括號含括全部的設定列,如:"設定項 = 參數值"


2012年3月19日 星期一

2012年3月17日 星期六

Ubuntu 11.10 檢視CPU溫度

先安裝lm-sensors
sudo apt-get install lm-sensors
然後執行sensors即可

demo@u11.10:~$ sensors
atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage:      +1.39 V  (min =  +0.85 V, max =  +1.60 V)
 +3.3 Voltage:      +3.38 V  (min =  +2.97 V, max =  +3.63 V)
 +5 Voltage:        +5.07 V  (min =  +4.50 V, max =  +5.50 V)
 +12 Voltage:      +12.25 V  (min = +10.20 V, max = +13.80 V)
CPU FAN Speed:     1418 RPM  (min =    0 RPM)
CHASSIS FAN Speed:    0 RPM  (min =  800 RPM)
CPU Temperature:    +46.0°C  (high = +60.0°C, crit = +95.0°C)
MB Temperature:     +54.0°C  (high = +45.0°C, crit = +95.0°C)


可以先用sensors-detect去偵測到所有的sensor並寫入設定檔,下次開機會自動載入相關的modules。 

2012年3月13日 星期二

在網路隱藏電腦名稱

利用管理員的權限在命令提示字元下以下指令:
net config server /hidden:yes


若user知道該電腦的名稱或ip及分享資料夾的名稱,依然可以用指定的方式連上該電腦!

UDP 137、138,TCP 139用途


137/UDP--NetBIOS名稱伺服器,網路基本輸入/輸出系統(NetBIOS)名稱伺服器(NBNS)傳輸協定是TCP/IP上的NetBIOS(NetBT)傳輸協定族的一部分,它在關於NetBIOS名稱訪問的網路上提供主機名稱和位址映射方法。

138/UDP--NetBIOS資料報,NetBIOS資料報是TCP/IP上的NetBIOS(NetBT)傳輸協定族的一部分,它用於網路登入和瀏覽。

139/TCP--NetBIOS會話服務,NetBIOS會話服務是TCP/IP上的NetBIOS(NetBT)傳輸協定族的一部分,它用於伺服器消息塊(SMB)、文件共享和列印。

WinXP開啟群組原則編輯畫面

利用有管理員權限的帳號登入電腦後,在執行列輸入:
gpedit.msc

更好用的及時監控軟體~htop

在ubuntu下需先進行安裝
sudo apt-get update
sudo apt-get install htop
安裝完畢後執行htop即可進入程式。
功能:
F5:把瀏覽方式方式變成樹狀模式,和執行pstree的效果差不多,能看到所有程序樹狀執行的  
      結構。
F6:選擇排序的標準;比如依照cpu或memory的使用量排序。
F2:進入設定畫面
Meters:可以設定頂端的資訊顯示,頂端又分為左右兩側。
Display options :
Colors :
Columns :


2012年2月23日 星期四

Office 2010 Word 停止工作解決辦法

先關閉所有office的程式,再以管理員的身分執行regedit,搜尋以下兩行位置

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word
  HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Office\Word\Addins
將Word和Addins這兩個資料夾分別更名為Word1和Addins,接著再重新開啟word即可!

乙太網路(Ethernet)的網路線接頭 (跳線/平行線)

 RJ-45 接頭因每條蕊線的對應不同分為 568A 與 568B 接頭,兩款接頭內的蕊線對應如下:



接頭名稱\蕊線順序12345678
568A白綠白橙白藍白棕
568B白橙白綠白藍白棕



乙太網路線有八蕊且兩兩成對,但實際使用的只有 1,2,3,6 蕊而已, 其他是某些特殊用途才使用到。由於主機與主機的連線以及主機與集線器的連線, 使用的網路線腳位定義不相同,因此不同接頭的網路線又可分為兩種:
  • 跳線:一邊為 568A 一邊為 568B 的接頭,用於直接連結兩部主機的網路卡。
  • 平行線:兩邊接頭同為 568A 或同為 568B,用於連結主機網路卡與集線器。

2012年2月21日 星期二

Ubuntu下設定永久路由

利用route新增的路由設定,在重新啟動網卡或者重新開機後,就會消失!若希望設定的路由可以永久有效,可以利用管理員權限,在/etc/network/interfaces檔案內新增如下指令:
up route add -net xx.xx.xx.xx netmask xx.xx.xx.xx gw xx.xx.xx.xx

2012年2月13日 星期一

硬碟讀、寫狀況顯示

可以使用iotop觀看目前HDD的狀況!


Usage: /usr/bin/iotop [OPTIONS]


DISK READ and DISK WRITE are the block I/O bandwidth used during the sampling
period. SWAPIN and IO are the percentages of time the thread spent respectively
while swapping in and waiting on I/O more generally. PRIO is the I/O priority at
which the thread is running (set using the ionice command).


Controls: left and right arrows to change the sorting column, r to invert the
sorting order, o to toggle the --only option, p to toggle the --processes
option, a to toggle the --accumulated option, q to quit, any other key to force
a refresh.


Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -o, --only            only show processes or threads actually doing I/O
  -b, --batch           non-interactive mode
  -n NUM, --iter=NUM    number of iterations before ending [infinite]
  -d SEC, --delay=SEC   delay between iterations [1 second]
  -p PID, --pid=PID     processes/threads to monitor [all]
  -u USER, --user=USER  users to monitor [all]
  -P, --processes       only show processes, not all threads
  -a, --accumulated     show accumulated I/O instead of bandwidth
  -k, --kilobytes       use kilobytes instead of a human friendly unit
  -t, --time            add a timestamp on each line (implies --batch)
  -q, --quiet           suppress some lines of header (implies --batch)

2012年2月9日 星期四

替代Visio的免費流程繪圖工具

Dia流程排版軟體
官方網站:http://dia-installer.de/index_en.html 
軟體版本:0.97.2 
軟體語系:多國語系 
支援系統:Windows 2000/XP/Vista/7 



Edraw Mind Map

軟體版本:6.3
軟體語系:英文
支援系統:Windows 2000/XP/Vista/7 

Windows 7 序號變更及啟動

開一個[以系統管理員身分執行]的[ 命令提示字元 ],然後輸入:
slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
指令執行完後過一會,系統會告知序號已更改;接著進入系統內點選“啟動”即可!

2012年2月7日 星期二

MailScanner 檢查中文檔名過長的錯誤訊息

MailScanner預設可以接受的附件檔名長度是150個字元,若檔案名稱長度超過,檔案會被隔離,並給予下列錯誤訊息:
MailScanner: Very long file names are good signs of attacks against Microsoft e-mail packages

可修改/etc/MailScanner/filename.rules.conf設定檔內的以下內容來修正這個錯誤!
deny    .{150,}                 Very long filename, possible OE attack Very long filenames are good signs of attacks against Microsoft e-mail packages
可以修改數值或者將整行註解,跳過這個檢查!

2012年2月5日 星期日

NTFS自動掛載

需安裝ntfs-config,接著以管理員身分執行ntfs-config即可。

Bind DNS Server Forward 設定

在bind設定檔內增加下列設定後,重新啟動bind即可。


allow-query-cache{ any; };
        allow-query { any; };


allow-query-cache{ $mynetwork; };
        allow-query { $mynetwork; };

---------------------------------------
allow-recursion{
192.168.8.0/24;
}; <-------只允許指定的網路做遞回查詢

2012年2月4日 星期六

設定Ubuntu文字介面登入


預設文字介面登入:
sudo update-rc.d gdm remove
改回預設圖形介面:
update-rc.d gdm defaults
或是在/etc/rc.local加:
"/etc/init.d/gdm stop"

掛載ISO影像檔


mount -o loop /folder/XXX.iso /media/dvd

開機掛載fstab設定簡介

檔案系統掛載限制:
根目錄 / 是必須且優先掛載。
其它 mount point 必須為已建立的目錄﹐可任意指定﹐但須遵守系統目錄架構原則
所有 mount point 在同時間內只能掛載一次。
所有 partition 在同時間之內只能掛載一次。
若進行卸載(umount)﹐須先將工作目錄移到 mount point(及其子目錄) 之外。
fstab檔案格式:
#Device     Mountpoint     filesystem     parameters     dump    fsck

Device:磁碟裝置檔名或該裝置的 Label 
Mountpoint掛載點 
filesystem檔案系統 
parameters檔案系統参數

參數內容意義
async/sync
非同步/同步
設定磁碟是否以非同步方式運作!預設為 async(效能較佳)
auto/noauto
自動/非自動
當下達 mount -a 時,此檔案系統是否會被主動測試掛載。預設為 auto。
rw/ro
可讀寫/唯讀
讓該分割槽以可讀寫或者是唯讀的型態掛載上來,如果你想要分享的資料是不給使用者隨意變更的, 這裡也能夠設定為唯讀。則不論在此檔案系統的檔案是否設定 w 權限,都無法寫入喔!
exec/noexec
可執行/不可執行
限制在此檔案系統內是否可以進行『執行』的工作?如果是純粹用來儲存資料的, 那麼可以設定為 noexec 會比較安全,相對的,會比較麻煩!
user/nouser
允許/不允許使用者掛載
是否允許使用者使用 mount 指令來掛載呢?一般而言,我們當然不希望一般身份的 user 能使用 mount 囉,因為太不安全了,因此這裡應該要設定為 nouser 囉!
suid/nosuid
具有/不具有 suid 權限
該檔案系統是否允許 SUID 的存在?如果不是執行檔放置目錄,也可以設定為 nosuid 來取消這個功能!
usrquota注意名稱是『 usrquota 』不要拼錯了!這個是在啟動 filesystem 支援磁碟配額模式,更多資料我們在第四篇再談。
grpquota注意名稱是『grpquota』,啟動 filesystem 對群組磁碟配額模式的支援。
defaults同時具有 rw, suid, dev, exec, auto, nouser, async 等參數。 基本上,預設情況使用 defaults 設定即可!
表格引用鳥哥的Linux私房菜


dump是否做dump備份,0:NO,1:每日dump
fsck開機時系統是否以fsck檢查檔案系統,0:不檢查,1:檢查,2:檢查,但順序在1之後。fsck的檢查設定一般只有根目錄會設成1,其他要檢查的檔案系統設定2即可。swap、/proc、/sys等是不需要檢查的!