[PHP]如何建立與 Outlook 相容的 IMap 目錄
我們公司的郵件伺服器是用 IMap 協定來讀取電子郵件 (因為 IMap 的郵件是放在伺服器上,不怕用戶的電腦中毒,就算用戶的硬碟毀了,郵件也都還在),因為這個原因,所以我必須要找一個可以支援 IMap 的 Webmail。
Read more
我們公司的郵件伺服器是用 IMap 協定來讀取電子郵件 (因為 IMap 的郵件是放在伺服器上,不怕用戶的電腦中毒,就算用戶的硬碟毀了,郵件也都還在),因為這個原因,所以我必須要找一個可以支援 IMap 的 Webmail。
Read more
檔案下載
平常我都是用 SecureNetTerm,今天試用 PieTTY,發現這也是一支好用的 Telnet/SSH 終端機連線程式。PieTTY 修改自 Putty 0.57,對「亞洲語系」的相容性更高,用起來更方便、順手。
screen 是一個很方便的終端機管理程式,可以讓你在同一個終端機開啟多個 Session 來操作,加強多工的處理。即使你要離開電腦,也可以將 Session 執行脫離,或直接關閉終端機,這時執行中的程式還是會繼續執行,下次登入終端機時再取回 Session 來操作即可。
首先執行 Screen 程式,開始一個 Session:
$ screen
某些終端機視窗會在標題列顯示目前在操作的終端機編號,如果沒有顯示,你也可以輸入:
$ tty
來了解你目前正在哪個終端機中。
切換時的快速鍵一開始都是 Ctrl + A
screen -r
將所有 Session 叫回來繼續操作。
$ screen
或指定 Id
$ screen -S SessionId
$ screen -ls
$ screen -r
或
$ screen -r SessionId
$ screen -d
或
$ screen -d SessionId
這功能適用於原本操作的電腦當機或斷線了,讓你可以在下次取回還在主機中執行的 Session。
$ screen -x
或
$ screen -x SessionId
$ screen -wipe SessionId
如果要在畫面底部秀出現在在哪個編號的 Session,請編輯 /etc/screenrc 或 ~/.screenrc,加入:
hardstatus alwayslastline "%-w%{= BW}%50>%n %t%{-}%+w%<"
假設我在我目前所操作的終端機 Session 要分享給另一端的登入者查看,並且可以操作 (或者是我不想將遠端登入的用戶脫離 Session),則我要先以我的帳號登入主機並且執行 screen -S 特定名稱,然後另一端的登入者:
因為 screen 只能水平分割視窗,不能充分利用寬螢幕的特性實在有點可惜! 這裡有新版可垂直分割功能的 screen:
請自行編譯安裝。
因為 screen 很實用,於是我在 bashrc 建立兩個 screen 指令的別名:
alias scr='screen -d -r Normal || screen -S Normal' alias scl='screen -ls'
我只要登入終端機就先打一次 scr,以取回上一次沒關閉的 Session。如果沒有上一次沒關閉的 Session,則會建立一個新的 Session。
scl 則可以列出目前有幾個屬於我的 session。
轉載自: 小紅帽技術論壇
AllowOverride 的屬性功能
AllowOverride Limit 允許覆寫原連結屬性的範圍
AllowOverride Authconfig 可做密碼設定: 如: 藏密
AllowOverride Options 可將該目錄之 Options 功能覆寫
AllowOverride FileInfo 可將該目錄之任何文件型態覆寫, 如: DefaultType, ErrorType
AllowOverride Indexs 可將該目錄之顯示列印功能覆寫, 如: AddIcon, HeaderName, ReadName
Options 的屬性功能
Indexs 當無 index.html 可用列印目錄方式顯示, 如: center3 homepage 若用 -Indexs 則看不見 listing
FollowSymLinks 加一屬性如 +FollowSymLinks 可允許使用 symbol link 時, 依舊可瀏覽
ExecCGI 當為 +ExecCGI 可執行 CGI SCRIPT
Includes 可執行 Server site include, 若為 +Includes
IncludesNOEXEC 可執行 Server site include, 若為 +Includes, 但不可執行 CGI
None 沒有任何功能可用
All 均可
總之, 以 +, - 符號可加或刪減其功能, 若未給符號, 則只有初步功能
測硬碟速度:
hdparm -tT /dev/hda
UDMA3(ATA33):
# hdparm -X66 -c1 -d1 -m16 /dev/hda
UDMA4(ATA66):
# hdparm -X68 -c1 -d1 -m16 /dev/hda
UDMA5(ATA100):
# hdparm -X69 -c1 -d1 -m16 /dev/hda
轉載自: 中文 PHP 資訊站
增加一個用戶 newuser :
useradd newuser passwd newuser
然後根據提示兩次輸入新用戶的密碼,請注意,用useradd增加一個用戶後應該立刻用passwd給新用戶修改密碼,沒有密碼的新帳號將不能使用。在/etc/passwd文件中,沒有密碼的新用戶的記錄是如下一行:
newuser:!!:506:506::/home/newuser:/bin/bash
在這一行裏,用戶的密碼域被設置成了」!!」,這就意味著用戶密碼還沒有設置,用戶不能登陸。(passwd文件的格式是 用戶名:密碼:用戶ID(UID):組ID(GID):全名:用戶目錄:外殼腳本)。
當然你可以用-d參數設置新用戶的主目錄(例如:useradd newuser -d /www),也可以用-g參數為用戶指定新組名(例如:useradd newuser -g linuxusers),你還可以用-G參數把新用戶設成系統其他一些組的成員(例如:useradd newuser -G users,shutdown)。所有這些,你都可以在本站的命令查詢中得到詳細資訊。
附註:相應的,僅僅增加一個新組可以用命令groupadd。
修改現有用戶的帳號:
usermod -s(new shell path)(username)
usermod -d(new home directory)(username)
usermod -d -m/www/newuser newuser
usermod -u UID username
username -g(group name) or GID username
usermod -e MM/DD/YY username
usermod -e 12/31/01 newuser
usedel bluewind
本文中的所有命令都可以在linuxaid獲得中文詳細的幫助,下面我們一起來繼續探討有關用戶管理的高級內容。
不少新系統管理員認為root用戶是唯一的超級用戶,其實root只是系統默認的超級用戶的名稱,root並非因為它叫root而成為超級用戶的。隨便打開一個/etc/passwd文件的例子,你就會發現如下幾行:
root:asiewhgYfaoO/J:0:0:root:/root:/bin/tcsh bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/sbin: lanf:Yuao56Ioyefg:0:0:bluewind:/home/bluewind:/bin/bash jake:gUyfaiIodashfj:501:501:jake cheng:/home/jake:/bin/tcsh apache:!!:502:502::/usr/local/apache:/bin/false
可以看到,root的UID和GID都被設置為0了。實際上,超級用戶的充要條件就是UID和GID都等於0。也就是說,任何用戶,只要它的UID和GID都為0,就與常被稱為root超級用戶沒有什麼兩樣了。比如上面那個例子裡面的lanf,也是一個超級用戶。
所以,可以將任何普通用戶變成超級用戶。但是,這樣做並沒有好處,很多時候這都會增加系統的隱患。除非在組織中需要多個系統管理員管理同一個系統,這就需要有多個超級用戶帳號。這有利於各個管理員明確責任,通過日誌知道不同的人分別做過什麼事。
還有一種情況,也可能出現多個超級用戶帳號,那就是黑客入侵後設置一個看起來象普通帳號的用戶,卻修改了UID和GID使之為0。這樣根本就不需要知道root用戶密碼,就可以執行超級用戶許可權了。而從我們的系統管理員的一方來說,我們不可能時刻注意passwd文件的變化的,沒有那個時間也沒有那個精力。這時只好編寫一個腳本來幫助監視,例如:
/bin/grep '0:0' /etc/passwd |awk 'BEGIN{FS=":"}{print $1}'|mail -s "`date +"%D%T"`"root
這是一個很小的腳本程式,使用了一些常規的命令來查看/etc/passwd文件,把UID和GID為0的行寄給root用戶。把這個腳本放在/etc/cron.daily文件中讓cron運行,root將每天收到一封信,報告當前的超級用戶。
實際上,由於PAM(可插入驗證模組)的限制,在telnet上是不允許超級用戶登入的,也就是說,黑客修改了自己的UID和GID後,想再次登陸從而獲得超級用戶的許可權的話,不修改/etc/seuretty文件是不可能的–除非你傻到自己添加了為TTY設備ROOT用戶登陸許可權。一般可以讓超級用戶先用普通用戶帳號登陸,再su(su命令相關內容請參考本站命令查詢部分)。
使用sudo命令可以允許普通用戶執行超級用戶才能執行的命令。無論是基於信任的建立需要時間,還是基於是否存在這種必要,我們都不會把超級用戶的所有權限輕易許人的。這是網管工作的原則。所以,當一些用戶必須訪問某些內容時,我們可以配置sudo以允許單獨的普通用戶運行特權命令。
sudo命令允許已經在/etc/sudoers文件中指定的用戶運行超級用戶命令。例如,一個已經獲得許可的普通用戶可以運行:
sudo vi /etc/passwd
實際上,sudo的配置完全可以讓我們指定某個列入/etc/sudoers文件的普通用戶可以做什麼、不可以做什麼。/etc/sudoers的配置行如下:
Host_Alias REDHAT=binbu,qd
其中binbu和qd是倆主機名,你可以用REDHAT(別名)統稱它們。
user host= [run as user ] command list
在user處指定一個真正的用戶名或定義過的別名,同樣的,host也可以是一個真正的主機名或者定義過的主機別名。默認情況下,sudo執行的所有命令都是以root身份執行。如果你想使用其他身份可以指定。至於command list可以是以逗號分隔的命令列表,也可以是一個已經定義過的別名。例如:
lanf binbu=/sbin/shutdown
這一句說明lanf可以在binbu主機上運行關機命令。
注意:
下面是一個sudoers文件的例子:
#sudoers files#User alias specificationUser_Alias ADMIN=yourid:POWERUSER=hisid,herid#user privilege specification ADMIN ALL=ALLPOWERUSER ALL=ALL,!/bin/su
第三行定義了兩個別名ADMIN和POWERUSER,第五行說明在所有主機上ADMIN都可以以root身份執行所有命令。第六行給POWERUSER除了運行su命令外同等ADMIN的許可權。
iptables -L -n
iptables -D INPUT 1
iptables -A INPUT -p all -s 192.168.1.203 -j DROP
iptables -A INPUT -p tcp -s 192.168.1.203 --dport 22 -j DROP
iptables-save > filename
iptables-restore < filename
.htaccess 讓你不用寫程式,就可以用最簡單的方式做出「網頁登入」的功能,限制哪些用戶能進到網頁的某一層目錄。
建立用戶驗證檔,並新增一組帳號及密碼:
htpasswd -c /path/to/.htusers UserName1
這裡所產生的 .htusers 是一個文字檔,裡面會有用戶名稱及編碼過的密碼。第一次建立檔案時,必須加 -c 參數。同時,請找一個安全的地方放置 .htusers 這個檔案,所謂的「安全」是指至少不要在公開網頁可以被下載到的路徑,例如放在 public_html 的上一層。
繼續增加第二組帳號及密碼到驗證檔時,就不用加 -c 參數:
htpasswd /path/to/.htusers UserName2
如果用戶比較多,你可能會想要用群組的方式來做管理。群組資料檔的目的是要將多個用戶設為一個群組,請新增或編輯 /path/to/.htgroups,依需求增加類似如下的設定:
Group1:UserName1 UserName2
代表 Group1 包含 UserName1 與 UserName2 這兩個用戶。
在欲執行用戶驗證的網頁目錄下,建立一個 .htaccess 檔案,驗證的方式可針對用戶或群組,差別在於 require 這個參數。
AuthName "Restricted Area" # 名稱必須用英文 AuthType Basic AuthUserFile /path/to/.htusers require user UserName1 # 僅針對特定用戶,以空白分隔多個用戶
上述的最後一行是只有 UserName1 允許進入,你也可以改成:
require valid-user # 針對全部用戶
表示針對 .htusers 裡的所有用戶。
AuthName "Restricted Area" # 名稱必須用英文 AuthType Basic AuthUserFile /path/to/.htusers AuthGroupFile /path/to/.htgroups require group Group1 # 僅針對特定群組的用戶,以空白分隔多個群組
表示針對 .htgroups 裡,歸屬於 Group1 下的用戶。
若你只想針對特定檔案做保護,那可以與 <Files>~</Files> 一起使用:
<Files FileName> require valid-user </Files>
<Files>~</Files> 一次只能填寫一個檔案,但支援正規表示式。以下是使用正規表示式限制圖檔存取的範例:
<Files ~ "\.(gif|jpe?g|png)$"> require valid-user </Files>
或是:
<FilesMatch "\.(gif|jpe?g|png)$"> require valid-user </FilesMatch>
設定好之後,當用戶要存取該目錄 (或檔案),就會跳出叫你登入的對話框:
另外,你也可以在網址中直接輸入你的帳號、密碼,格式:
http://UserName:Password@www.example.com/directory/
如果在設定 htaccess 認證方式之後,在進入網頁時,仍然沒有跳出驗證的對話框,則請編輯 /etc/httpd/conf/httpd.conf,搜尋相關的「AllowOverride」設定,改成:
AllowOverride All
雖然用戶儲存在 Server 端的密碼有經過加密,但因為是採用 Basic 方式驗證,當要存取網頁時,用戶輸入的帳號與密碼僅是以 Base64 編碼,包裹在 Headers 裡進行傳輸,有機會被竊聽之後解碼、盜用! 網站必須導入 SSL 才能完全在傳輸的過程中加密。
檔案下載
有時候 MIS 需要計算區段 IP 的啟始位置和終點 IP,使用這個程式,只需要填入目標 IP,就會幫您算出:
而且不用安裝就可以使用了。
我們解決了什麼問題?我們創造了什麼價值?
近期迴響