不登入 X-Windows 就啟動 VNC Server
在 X-Windows 安裝 VNC Server (vino) 時會發現,必須要登入後才會啟動服務。
想在登入前就啟動 VNC 必須安裝另一套服務
1.安裝 x11vnc
yum install x11vnc
2.修改設定
vim /etc/X11/xorg.conf
在 "Screen" 區塊裡新增:
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
Option "SecurityTypes" "VncAuth" #新增
Option "UserPasswdVerifier" "VncAuth" #新增
Option "PasswordFile" "/root/.vnc/passwd" #新增
EndSection
在最後新增 "Module" 區塊
Section "Module"
Load "vnc"
EndSection
3.設定 VNC 密碼
vncpasswd
2013-07-31
網路開機 Wake on Lan
網路開機 Wake on Lan
◎在Windows下,使用命令列網路開機
1.從Depicus下載WoL Command Line程式
2.解壓縮後得到WolCmd.exe
3.從命令列執行或是寫成批次擋執行
EX.
d:\wolcmd 001122334455 200.210.230.240 255.255.255.240
d:\wolcmd 00aabbccddee 10.0.0.254 255.255.255.0
Depicus官網: http://www.depicus.com/wake-on-lan/
Depicus下載: http://www.depicus.com/download.aspx?product=commandline
◎在Linux下,使用命令列網路開機
1.使用RPM安裝
rpm -ivh http://gsd.di.uminho.pt/jpo/software/wakeonlan/downloads/wakeonlan-0.41-0.fdr.1.noarch.rpm
2.執行 wakeonlan
EX.
一般喚醒
wakeonlan 00:11:22:33:44:99
指定IP跟PORT
wakeonlan -i 192.168.1.1 -p 7 00:11:22:33:44:99
官網: http://gsd.di.uminho.pt/jpo/software/wakeonlan/
◎在Windows下,使用命令列網路開機
1.從Depicus下載WoL Command Line程式
2.解壓縮後得到WolCmd.exe
3.從命令列執行或是寫成批次擋執行
EX.
d:\wolcmd 001122334455 200.210.230.240 255.255.255.240
d:\wolcmd 00aabbccddee 10.0.0.254 255.255.255.0
Depicus官網: http://www.depicus.com/wake-on-lan/
Depicus下載: http://www.depicus.com/download.aspx?product=commandline
◎在Linux下,使用命令列網路開機
1.使用RPM安裝
rpm -ivh http://gsd.di.uminho.pt/jpo/software/wakeonlan/downloads/wakeonlan-0.41-0.fdr.1.noarch.rpm
2.執行 wakeonlan
EX.
一般喚醒
wakeonlan 00:11:22:33:44:99
指定IP跟PORT
wakeonlan -i 192.168.1.1 -p 7 00:11:22:33:44:99
官網: http://gsd.di.uminho.pt/jpo/software/wakeonlan/
Win7、Vista 開啟被防火牆阻擋的網路地圖 By SEP
Win7、Vista 開啟被防火牆阻擋的網路地圖 By SEP
Windows 7 及 Vista上『網路地圖』(Network Map)功能所使用的LLTD,常常在使用非內建的防火牆後被阻擋而無法畫出網路環境,這時需要開啟連結層拓撲探索 (LLTD)。以 Symantec Endpoint Protection 11 為例:
1.架構防火牆規則
2.新增規則
3.規則名稱自訂
4.動作選擇『允許此流量』
5.通訊埠與通訊協定
6.通訊協定選擇『乙太網路』
7.乙太網路類行自行輸入『0x88D9』
確定加入規則後,即可在網路地圖中看到你的鄰居~
Windows 7 及 Vista上『網路地圖』(Network Map)功能所使用的LLTD,常常在使用非內建的防火牆後被阻擋而無法畫出網路環境,這時需要開啟連結層拓撲探索 (LLTD)。以 Symantec Endpoint Protection 11 為例:
1.架構防火牆規則
2.新增規則
3.規則名稱自訂
4.動作選擇『允許此流量』
5.通訊埠與通訊協定
6.通訊協定選擇『乙太網路』
7.乙太網路類行自行輸入『0x88D9』
確定加入規則後,即可在網路地圖中看到你的鄰居~
Android 編譯時遇到 LOCAL_MODULE_TAGS 的錯誤
Android 編譯時遇到 LOCAL_MODULE_TAGS 的錯誤
編譯時載入模組有時會出現錯誤.....
如果在編譯時出現下列訊息:
build/core/base_rules.mk:74: *** Module name: 01-test
build/core/base_rules.mk:75: *** Makefile location: external/dhcpcd
build/core/base_rules.mk:76: *
build/core/base_rules.mk:77: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:78: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:79: *
build/core/base_rules.mk:80: * optional, debug, eng, tests, samples
build/core/base_rules.mk:81: *
build/core/base_rules.mk:82: * If the module is expected to be in all builds
build/core/base_rules.mk:83: * of a product, then it should use the
build/core/base_rules.mk:84: * "optional" tag:
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:87: * Android.mk for the affected module, and add
build/core/base_rules.mk:88: * the LOCAL_MODULE value for that component
build/core/base_rules.mk:89: * into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:90: * makefile(s) where it's necessary, if
build/core/base_rules.mk:91: * appropriate.
build/core/base_rules.mk:92: *
build/core/base_rules.mk:93: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:94: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:95: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:96: * build/target/product/core.mk
build/core/base_rules.mk:97: *
build/core/base_rules.mk:98: *** user tag detected on new module - user tags are only supported on legacy modules. Stop.
只需要看第二行 『Makefile location: external/dhcpcd』 的 external/dhcpcd 路徑下,
修改 Android.mk ,
找到第一行的 『Module name: 01-test』的 LOCAL_MODULE := 01-test,
在下面加入 LOCAL_MODULE_TAGS := optional 即可
或是
有找到 LOCAL_MODULE_TAGS := user 的話
改成 LOCAL_MODULE_TAGS := optional
編譯時載入模組有時會出現錯誤.....
如果在編譯時出現下列訊息:
build/core/base_rules.mk:74: *** Module name: 01-test
build/core/base_rules.mk:75: *** Makefile location: external/dhcpcd
build/core/base_rules.mk:76: *
build/core/base_rules.mk:77: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:78: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:79: *
build/core/base_rules.mk:80: * optional, debug, eng, tests, samples
build/core/base_rules.mk:81: *
build/core/base_rules.mk:82: * If the module is expected to be in all builds
build/core/base_rules.mk:83: * of a product, then it should use the
build/core/base_rules.mk:84: * "optional" tag:
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:87: * Android.mk for the affected module, and add
build/core/base_rules.mk:88: * the LOCAL_MODULE value for that component
build/core/base_rules.mk:89: * into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:90: * makefile(s) where it's necessary, if
build/core/base_rules.mk:91: * appropriate.
build/core/base_rules.mk:92: *
build/core/base_rules.mk:93: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:94: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:95: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:96: * build/target/product/core.mk
build/core/base_rules.mk:97: *
build/core/base_rules.mk:98: *** user tag detected on new module - user tags are only supported on legacy modules. Stop.
只需要看第二行 『Makefile location: external/dhcpcd』 的 external/dhcpcd 路徑下,
修改 Android.mk ,
找到第一行的 『Module name: 01-test』的 LOCAL_MODULE := 01-test,
在下面加入 LOCAL_MODULE_TAGS := optional 即可
或是
有找到 LOCAL_MODULE_TAGS := user 的話
改成 LOCAL_MODULE_TAGS := optional
2013-07-30
認識惡意威脅:病毒(Virus)、木馬(Trojan Horse)等11個網路威脅定義
認識惡意威脅:病毒(Virus)、木馬(Trojan Horse)等11個網路威脅定義
網路威脅是像間諜軟體、廣告軟體、木馬程式、殭屍網路、病毒或蠕蟲等等惡意軟體,它們會在未經你許可或知情下安裝到你的電腦上。這些程式透過網站來散播、隱藏、更新自己,並發送竊取資料給網路犯罪分子。它們也會結合起來進行犯罪行為,像是木馬程式可以下載間諜軟體或蠕蟲來將你的電腦變成殭屍網路的一部分。
以下是一些網路威脅的基本定義和安全提示:
威脅
|
定義
|
惡意軟體(Malware)
|
在你不知情或未授權下偷偷放入你電腦的軟體程式,卻總是在進行惡意的行為。
|
病毒(Virus)
|
就跟現實世界的病毒一樣,會自我複製、可以快速蔓延的程式。病毒被設計來破壞你的電腦、顯示非預期的訊息或圖像、破壞檔案、重新格式化你的硬碟,或佔用你電腦的儲存空間和記憶體,而可能會讓電腦變慢。
|
蠕蟲(Worm)
|
一個自行運作的程式,可以將自身的副本透過網路連線、電子郵件附件檔、即時通(透過檔案分享),或是和其他惡意軟體合作來散播到其他電腦系統上。蠕蟲程式可能會封鎖某些網站不讓你連上,或竊取你電腦上所安裝應用程式的認證資料。
|
木馬(Trojan Horse)
|
會執行惡意行為但不會進行複製的程式。它可能會透過無害的檔案或應用程式進入,帶有隱藏自身和惡意行為的程式碼。當它執行時,你可能會遇到不必要的系統問題,有時可能會讓電腦失去資料。
|
垃圾郵件(Spam)
|
任何透過電子郵件或即時通(IM)不請自來的訊息,是為了讓寄件者賺錢而設計。
|
網路釣魚(Phishing)
|
任何企圖透過電話、電子郵件、即時通或傳真來獲得你個人資訊以竊取你的身份認證。大多數網路釣魚會企圖讓自己看起來像是一般行為,實際上卻是用於犯罪活動。
|
網址嫁接(Pharming)
|
劫持一般正常網站地址或網址(例如「www.mybank.com」)的行為,將你重新導到一個看起來像原本網站的假網站。這偽造的網站會偷偷收集你所輸入的個人資料,然後用在其他可能的犯罪活動上。
|
間諜軟體(Spyware)
|
在你的電腦上安裝或執行(你不知情下)監視、追蹤和回報你電子蹤跡給間諜軟體作者的軟體。它通常透過木馬程式或是成為你所選擇下載安裝軟體的一部分來安裝到電腦上。間諜軟體透過下列方式收集資訊:
●鍵盤側錄軟體 – 會監視鍵盤敲擊以記錄使用者所訪問網站或記錄密碼的軟體
●螢幕擷取技術 – 會定期擷取桌面螢幕並記錄登錄名稱等資訊的軟體
●事件記錄程式 – 可以追踪使用者所訪問網站或其他線上行為的軟體。(這資訊通常用於給使用者的針對性廣告)。
|
廣告軟體(Adware)
|
未經你許可下派送廣告給你(如彈跳式視窗或網路連結)的軟體。通常是透過木馬程式或是成為你所選擇下載安裝軟體的一部分來進入電腦。廣告軟件可以根據你電腦上間諜軟體追蹤你網路瀏覽習慣所收集來的資料來顯示高度針對性的廣告。
|
殭屍電腦和殭屍網路(Bot和Botnet)
|
透過木馬程式秘密地放入你電腦的小程式。幕後黑手的「殭屍網路管理者」可以中央控管許多殭屍電腦,任何時候都能用來散播垃圾郵件、進行網路釣魚攻擊或執行阻斷服務(DoS)攻擊,讓網站無法被連上。殭屍網路是殭屍電腦所組成的網路。通常被用來派送垃圾郵件和網路釣魚攻擊。
|
勒索軟體(Ransomware)
|
會加密文件以達到勒索目的的軟體。會為這些文件要求贖金,直到受害者購買解密金鑰,透過第三方服務來付款(如PayPal)或購買線上物品(裡面會包括金鑰)
|
轉載自《雲端運算與網路安全趨勢部落格》
Sendmail 帳號與 Microsoft 2003 AD整合
Sendmail 帳號與 Microsoft 2003 AD整合
要達成sendmail+dovecot使用AD帳號做整合,必須希達成以下幾要建。
> Linux 機器不可以與AD機器時間相差超過五分鐘
> 使用samba中的winbind加入網域中並取得網域帳號。
> Pam認證模組中插入winbind.so達到AD帳號可以登入linux主機。
> 利用pam_mkhomedir.so來自動建立AD帳號的家目錄,不須自己手動建立家目錄。
1 . 測試環境
AD Server Windowns Server 2003
AD Samba CentOS 5.1 (未更新套件)
主機 Hostname IP
PDC adserver 192.168.227.130/24
linux samba samba.example.com.tw 192.168.227.131/24
Domain name example.com.tw
DNS 192.168.227.130
所需安裝套件(CentOS 5.1)
samba-client-3.0.25b-0.el5.4
samba-common-3.0.25b-0.el5.4
samba-3.0.25b-0.el5.4
ntp-4.2.2p1-7.el5
dovecot-1.0-1.2.rc15.el5
使用NTP套件作向AD作時間校正
# ntpdate 192.168.227.130
# hwclock -w
2 . 架設sendmail
(有時會忘記怎麼架,大約半年當機一次,不知是自動更新問題還是套件漏洞,沒去查)
2.1 設定Sendmail所服務的IP範圍
# vi /etc/mail/sendmail.cf
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA # 原本
O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA # 已修改的
2.2 設定接收信件的條件
(@後面的名稱符合這裡的條件的話把它接收下來)
# vi /etc/mail/local-host-names
example.com.tw
samba.example.com.tw
2.3 設定可Relay的條件
預設Relay本機
# vi /etc/mail/access
Connect:192.168.227 RELAY
Connect:example.com.tw RELAY
To:root@example.com.tw DROP #root的信丟棄掉
3 . 將Linux主機加入網域並取得帳號
3.1 設定samba設定檔 smb.conf
# vi /etc/samba/smb.conf
#=================== Global Settings ========================
[global]
workgroup = EXAMPLE # 架網域的時候有一個網域的NetBios name
netbios name = SAMBA
# ----------------- Domain Members Options ------------------
security = domain
; passdb backend = tdbsam
realm = EXAMPLE.COM.TW
password server = 192.168.227.130
idmap uid = 10000 - 20000 # UID範圍限制
idmap gid = 10000 - 20000 # GID範圍限制
template shell = /bin/bash # 登入的Shell,郵件相關可以設成/sbin/nologin
template homedir = /home/%U # 登入的時候所使用的家目錄 /home/user
winbind separator = % # 網域與名稱的分隔符號
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
encrypt passwords = yes
若不做分享的話可以把== Share Definitions ==以下的全部拿掉
3.2 編輯 /etc/nsswitch.conf 來修改winbind對帳號的信任
# vi /etc/nsswitch
修改以下位置
passwd: files winbind
shadow: files
group: files winbind
# net rpc join -S adserver.example.com.tw -U administrator
Password: # 輸入網域administrator的密碼
Joined domain EXAMPLE. # 成功了 !!!
# service smb restart # 並非必需要啟動,有分享再啟動
# service winbind restart
3.3 測試是否有跟AD取得帳號與群組
# wbinfo -u
administrator
guest
support_388945a0
krbtgt
00001
00002
00003
# wbinfo -g
domain computers
domain controllers
schema admins
enterprise admins
domain admins
domain users
domain guests
group policy creator owners
dnsupdateproxy
group1
4 Linux 系統登入使用 AD認證
4.1 插入自動建立家目錄的模組 pam_mkhomedir.so
# vi /etc/pam.d/login
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session include system-auth
session required pam_loginuid.so
session optional pam_console.so # 在這一行下面新增下一行
session required pam_mkhomedir.so skel=/etc/skel umask=0077 # 新增的一行,自動建立家目錄
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
4.2 Linux帳號使用winbind.so作AD帳號的認證
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient /lib/security/pam_winbind.so # 插入的pam_winbind.so模組
auth sufficient pam_unix.so nullok try_first_pass # 在這一行的上面新增一行
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account sufficient /lib/security/pam_winbind.so # 插入的pam_winbind.so模組
account required pam_unix.so # 在這一行的上面新增一行
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
驗證類型說明
auth - 驗證你輸入的帳號密碼
account - 帳號密碼對了之後,account驗證類型還必須檢驗你的帳號密碼是否過期等等,來決定是否給你登入
password - 改變帳號資訊的時候用到的。
session - 紀錄或是限制登入次數的前置或後製的工作。
驗證控制說明
required - 驗證失敗時仍然繼續,不管後面驗證成功與否,最後都將錯誤傳回給應用程式。
requisite - 驗證失敗則立即結束整個驗證過程,錯誤傳回給應用程式。
sufficient - 驗證成功後不繼續驗證,失敗後繼續驗證。
session - 無論驗證結果如何,均不會影響。
一些資料 (接擷取自http://us3.samba.org/samba/docs/using_samba/toc.html)
Port 137 Used for NetBIOS network browsing
Port 138 Used for NetBIOS name service
Port 139 Used for file and printer sharing and other operations
Port 445 Used by Windows 2000/XP when NetBIOS over TCP/IP is disabled
Table 6-2. Samba variables
Variable Definition
Client variables
%a Client's architecture (see Table 6-1)
%I Client's IP address (e.g., 172.16.1.2)
%m Client's NetBIOS name
%M Client's DNS name
User variables
%u Current Unix username
%U Requested client username (not always used by Samba)
%H Home directory of %u
%g Primary group of %u
%G Primary group of %U
Share variables
%S Current share's name
%P Current share's root directory
%p Automounter's path to the share's root directory, if different from %P
Server variables
%d Current server process ID
%h Samba server's DNS hostname
%L Samba server's NetBIOS name
%N Home directory server, from the automount map
%v samba version
%D 網域名稱
Miscellaneous variables
%R The SMB protocol level that was negotiated
%T The current date and time
%$var The value of environment variable var
要達成sendmail+dovecot使用AD帳號做整合,必須希達成以下幾要建。
> Linux 機器不可以與AD機器時間相差超過五分鐘
> 使用samba中的winbind加入網域中並取得網域帳號。
> Pam認證模組中插入winbind.so達到AD帳號可以登入linux主機。
> 利用pam_mkhomedir.so來自動建立AD帳號的家目錄,不須自己手動建立家目錄。
1 . 測試環境
AD Server Windowns Server 2003
AD Samba CentOS 5.1 (未更新套件)
主機 Hostname IP
PDC adserver 192.168.227.130/24
linux samba samba.example.com.tw 192.168.227.131/24
Domain name example.com.tw
DNS 192.168.227.130
所需安裝套件(CentOS 5.1)
samba-client-3.0.25b-0.el5.4
samba-common-3.0.25b-0.el5.4
samba-3.0.25b-0.el5.4
ntp-4.2.2p1-7.el5
dovecot-1.0-1.2.rc15.el5
使用NTP套件作向AD作時間校正
# ntpdate 192.168.227.130
# hwclock -w
2 . 架設sendmail
(有時會忘記怎麼架,大約半年當機一次,不知是自動更新問題還是套件漏洞,沒去查)
2.1 設定Sendmail所服務的IP範圍
# vi /etc/mail/sendmail.cf
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA # 原本
O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA # 已修改的
2.2 設定接收信件的條件
(@後面的名稱符合這裡的條件的話把它接收下來)
# vi /etc/mail/local-host-names
example.com.tw
samba.example.com.tw
2.3 設定可Relay的條件
預設Relay本機
# vi /etc/mail/access
Connect:192.168.227 RELAY
Connect:example.com.tw RELAY
To:root@example.com.tw DROP #root的信丟棄掉
3 . 將Linux主機加入網域並取得帳號
3.1 設定samba設定檔 smb.conf
# vi /etc/samba/smb.conf
#=================== Global Settings ========================
[global]
workgroup = EXAMPLE # 架網域的時候有一個網域的NetBios name
netbios name = SAMBA
# ----------------- Domain Members Options ------------------
security = domain
; passdb backend = tdbsam
realm = EXAMPLE.COM.TW
password server = 192.168.227.130
idmap uid = 10000 - 20000 # UID範圍限制
idmap gid = 10000 - 20000 # GID範圍限制
template shell = /bin/bash # 登入的Shell,郵件相關可以設成/sbin/nologin
template homedir = /home/%U # 登入的時候所使用的家目錄 /home/user
winbind separator = % # 網域與名稱的分隔符號
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
encrypt passwords = yes
若不做分享的話可以把== Share Definitions ==以下的全部拿掉
3.2 編輯 /etc/nsswitch.conf 來修改winbind對帳號的信任
# vi /etc/nsswitch
修改以下位置
passwd: files winbind
shadow: files
group: files winbind
# net rpc join -S adserver.example.com.tw -U administrator
Password: # 輸入網域administrator的密碼
Joined domain EXAMPLE. # 成功了 !!!
# service smb restart # 並非必需要啟動,有分享再啟動
# service winbind restart
3.3 測試是否有跟AD取得帳號與群組
# wbinfo -u
administrator
guest
support_388945a0
krbtgt
00001
00002
00003
# wbinfo -g
domain computers
domain controllers
schema admins
enterprise admins
domain admins
domain users
domain guests
group policy creator owners
dnsupdateproxy
group1
4 Linux 系統登入使用 AD認證
4.1 插入自動建立家目錄的模組 pam_mkhomedir.so
# vi /etc/pam.d/login
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session include system-auth
session required pam_loginuid.so
session optional pam_console.so # 在這一行下面新增下一行
session required pam_mkhomedir.so skel=/etc/skel umask=0077 # 新增的一行,自動建立家目錄
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
4.2 Linux帳號使用winbind.so作AD帳號的認證
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient /lib/security/pam_winbind.so # 插入的pam_winbind.so模組
auth sufficient pam_unix.so nullok try_first_pass # 在這一行的上面新增一行
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account sufficient /lib/security/pam_winbind.so # 插入的pam_winbind.so模組
account required pam_unix.so # 在這一行的上面新增一行
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
驗證類型說明
auth - 驗證你輸入的帳號密碼
account - 帳號密碼對了之後,account驗證類型還必須檢驗你的帳號密碼是否過期等等,來決定是否給你登入
password - 改變帳號資訊的時候用到的。
session - 紀錄或是限制登入次數的前置或後製的工作。
驗證控制說明
required - 驗證失敗時仍然繼續,不管後面驗證成功與否,最後都將錯誤傳回給應用程式。
requisite - 驗證失敗則立即結束整個驗證過程,錯誤傳回給應用程式。
sufficient - 驗證成功後不繼續驗證,失敗後繼續驗證。
session - 無論驗證結果如何,均不會影響。
一些資料 (接擷取自http://us3.samba.org/samba/docs/using_samba/toc.html)
Port 137 Used for NetBIOS network browsing
Port 138 Used for NetBIOS name service
Port 139 Used for file and printer sharing and other operations
Port 445 Used by Windows 2000/XP when NetBIOS over TCP/IP is disabled
Table 6-2. Samba variables
Variable Definition
Client variables
%a Client's architecture (see Table 6-1)
%I Client's IP address (e.g., 172.16.1.2)
%m Client's NetBIOS name
%M Client's DNS name
User variables
%u Current Unix username
%U Requested client username (not always used by Samba)
%H Home directory of %u
%g Primary group of %u
%G Primary group of %U
Share variables
%S Current share's name
%P Current share's root directory
%p Automounter's path to the share's root directory, if different from %P
Server variables
%d Current server process ID
%h Samba server's DNS hostname
%L Samba server's NetBIOS name
%N Home directory server, from the automount map
%v samba version
%D 網域名稱
Miscellaneous variables
%R The SMB protocol level that was negotiated
%T The current date and time
%$var The value of environment variable var
Outlook 2003或Outlook 2007無法下載離線通訊錄
Outlook 2003或Outlook 2007無法下載離線通訊錄
1.Microsoft Outlook 2003無法下載離線通訊錄
2.Microsoft Outlook 2007無法下載離線通訊錄
發生原因:
1.離線通訊錄OAB有三種不同的版本,V2、V3、V4,不同的版本會下載不同版本的OAB,因此要先確認Exchange是否有正常產生這三種版本:
(1)V2:Outlook 98以上
(2)V3:Outlook 2003以上
(3)V4:Outlook 2003 SP2以上
所以當Exchange產生哪個版本的OAB,Outlook就必須符合其最低的限制,不然會有離線通訊錄無法下載的狀況。
參考網站:http://ithelp.ithome.com.tw/question/10063241
2.Outlook 2007無法正常下載離線通訊錄的原因是在Outlook版本2003之前,其OAB皆是使用Public folder的方式,在Outlook 2007之後已改為使用Web Based的方式下載,因為在多人同時下載時,Outlook 2003所佔用的頻寬效率會比Outlook 2007來的大很多,所以此問題是因為在Exchange CAS Server上的C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB\Web.config,該檔案必須開放安全性的權限給AD內的所有User,最少要有讀取的權限,不然就會有無法讀取下載的狀況產生。
解決方式:
1.Outlook 2003的話,就必須按照Exchange Server所產生的OAB版本去做Outlook的Service Pack Update。
2.Outlook 2007的話,必須將Exchange CAS Server上的C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB\Web.config,授予該檔案Authenticated users 最少讀取的權限即可。
1.Microsoft Outlook 2003無法下載離線通訊錄
2.Microsoft Outlook 2007無法下載離線通訊錄
發生原因:
1.離線通訊錄OAB有三種不同的版本,V2、V3、V4,不同的版本會下載不同版本的OAB,因此要先確認Exchange是否有正常產生這三種版本:
(1)V2:Outlook 98以上
(2)V3:Outlook 2003以上
(3)V4:Outlook 2003 SP2以上
所以當Exchange產生哪個版本的OAB,Outlook就必須符合其最低的限制,不然會有離線通訊錄無法下載的狀況。
參考網站:http://ithelp.ithome.com.tw/question/10063241
2.Outlook 2007無法正常下載離線通訊錄的原因是在Outlook版本2003之前,其OAB皆是使用Public folder的方式,在Outlook 2007之後已改為使用Web Based的方式下載,因為在多人同時下載時,Outlook 2003所佔用的頻寬效率會比Outlook 2007來的大很多,所以此問題是因為在Exchange CAS Server上的C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB\Web.config,該檔案必須開放安全性的權限給AD內的所有User,最少要有讀取的權限,不然就會有無法讀取下載的狀況產生。
解決方式:
1.Outlook 2003的話,就必須按照Exchange Server所產生的OAB版本去做Outlook的Service Pack Update。
2.Outlook 2007的話,必須將Exchange CAS Server上的C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\OAB\Web.config,授予該檔案Authenticated users 最少讀取的權限即可。
解決Exchange 2007 POP3 寄信權限的問題
解決Exchange 2007 POP3 寄信權限的問題
最近公司Mail Server Exchange 2003掛掉了~
於是想說Exchange 2007是新產品就來玩玩看~就這樣走上了不歸路啦,目前還有些問題還在Debug中~到時候在慢慢po上來給大家參考一下,公司Exchange server 2007已經開啟POP3、IMAP4服務,LoginType 採用 PlainTextLogin 明文方式,用戶端使用 Outlook Express,Outlook 2003,Outlook 2007,Outlook Web Access。
在進階的部分也都開啟了使用 SSL 加密 port 的選項,使用 POP3 或 IMAP4 收信也都正常,但是很奇怪有些使用者寄信的時候,會出現下列錯誤訊息而無法寄出郵件 ?
無法傳送郵件,因為伺服器拒絕寄件者的電子郵件地址。寄件者的地址是 test@mcg.com.tw’。主旨 ’1′, 帳戶: ‘test’, 伺服器: ‘mail.mcg.com.tw’, 通訊協定: SMTP, 伺服器回應: ’550 5.7.1 Client does not have permissions to send as this sender’, 連接埠: 25, 安全(SSL): 是, 伺服器錯誤: 550, 錯誤碼: 0x800CCC78
以為在powershell裡面打下面指令就可以解決權限的問題
add-adpermission ‘<receivername>’ -User ‘NT AUTHORITY\ANONYMOUS LOGON’ -ExtendedRights ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
重開服務以後一樣沒用
原因可能是因為升級到Exchange 2007之後,加入了Exchange群組,AD的繼承自動會被拿掉,因此會造成升級後OWA及POP3有問題沒有權限寄信。 Administrator、Enterprise admins、Domain Admins等帳號或群組的成員有許多權限是被設為『拒絕』的。
你可以使用『Active Directory使用者及電腦』程式,將檢視選擇為『進階功能』
然後點選『有問題的帳號』–>內容–>安全性標籤,檢查看看有沒有SELF帳號,若沒有把它加進來(選擇新增–>手動輸入SELF–>確定),正常應有此帳號,接著在『安全性』標籤頁選擇『進階』
檢查一下『允許從父項繼承權限套用到這個物件和所有的子物件,包括明確定義於此的項目(A)』選項是否未勾選,一般的帳號應會勾選起來,若沒有勾選,接著直 接點選『預設』按鈕,會自動勾選起來,然後再按確定–>等同步後再重試一次寄信,記得按『預設』按鈕,它會把原來該有的權限加入。
備註:即使有SELF帳號,『允許從父項繼承權限套用到這個物件和所有的子物件,包括明確定義於此的項目(A)』選項也有勾選,也應按一下『預設』按鈕,因為有些權限有可能某些因素被拿掉。
最近公司Mail Server Exchange 2003掛掉了~
於是想說Exchange 2007是新產品就來玩玩看~就這樣走上了不歸路啦,目前還有些問題還在Debug中~到時候在慢慢po上來給大家參考一下,公司Exchange server 2007已經開啟POP3、IMAP4服務,LoginType 採用 PlainTextLogin 明文方式,用戶端使用 Outlook Express,Outlook 2003,Outlook 2007,Outlook Web Access。
在進階的部分也都開啟了使用 SSL 加密 port 的選項,使用 POP3 或 IMAP4 收信也都正常,但是很奇怪有些使用者寄信的時候,會出現下列錯誤訊息而無法寄出郵件 ?
無法傳送郵件,因為伺服器拒絕寄件者的電子郵件地址。寄件者的地址是 test@mcg.com.tw’。主旨 ’1′, 帳戶: ‘test’, 伺服器: ‘mail.mcg.com.tw’, 通訊協定: SMTP, 伺服器回應: ’550 5.7.1 Client does not have permissions to send as this sender’, 連接埠: 25, 安全(SSL): 是, 伺服器錯誤: 550, 錯誤碼: 0x800CCC78
以為在powershell裡面打下面指令就可以解決權限的問題
add-adpermission ‘<receivername>’ -User ‘NT AUTHORITY\ANONYMOUS LOGON’ -ExtendedRights ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
重開服務以後一樣沒用
原因可能是因為升級到Exchange 2007之後,加入了Exchange群組,AD的繼承自動會被拿掉,因此會造成升級後OWA及POP3有問題沒有權限寄信。 Administrator、Enterprise admins、Domain Admins等帳號或群組的成員有許多權限是被設為『拒絕』的。
你可以使用『Active Directory使用者及電腦』程式,將檢視選擇為『進階功能』
然後點選『有問題的帳號』–>內容–>安全性標籤,檢查看看有沒有SELF帳號,若沒有把它加進來(選擇新增–>手動輸入SELF–>確定),正常應有此帳號,接著在『安全性』標籤頁選擇『進階』
檢查一下『允許從父項繼承權限套用到這個物件和所有的子物件,包括明確定義於此的項目(A)』選項是否未勾選,一般的帳號應會勾選起來,若沒有勾選,接著直 接點選『預設』按鈕,會自動勾選起來,然後再按確定–>等同步後再重試一次寄信,記得按『預設』按鈕,它會把原來該有的權限加入。
備註:即使有SELF帳號,『允許從父項繼承權限套用到這個物件和所有的子物件,包括明確定義於此的項目(A)』選項也有勾選,也應按一下『預設』按鈕,因為有些權限有可能某些因素被拿掉。
使用 Samba 架設 File Server,整合 AD 2003 帳號,並支援 User Security
使用 Samba 架設 File Server,整合 AD 2003 帳號,並支援 User Security
之前在恆逸上課,老師曾教過使用 Samba 架設 File Server,並與 AD 2003 整合,正好手邊有一台勘用,但公司要報廢的電腦,於是拿來測試。
測試環境:
AD Server:twadc.sample.com
AD Server IP:10.1.1.57
WINS Server IP:10.1.1.57
DNS Server IP:10.1.1.57
Linux:Fedora 5
套件:samba-3.0.23c-1.fc5
一、整合 AD 2003 帳號
1. 設定 Samba
vi /etc/samba/smb.conf
[global]
workgroup = sample <- 網域名稱
realm = sample.com <- 完整網域名稱
netbios name = linux-src <- 主機名稱
server string = Linux Src Server <- 電腦描述
display charset = Big5 <- 支援中文 ShareName
dos charset = CP950
unix charset = Big5
security = ads <- AD 網域認證模式
password server = test.lab.corp <- 密碼主機
encrypt passwords = yes <- 密碼加密
wins server = 10.10.1.1 <- WINS 主機
idmap uid = 16777000-33550000 <- 修改 GID 與 UID 的範圍及目錄
idmap gid = 16777000-33550000 <- (Linux 從 AD 讀取的帳號)
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash <- 指定 AD 帳號的 Shell
winbind use default domain = yes <- 是否自動套用網域名稱
template homedir = /home/%D/%U <- %D 網域名稱,%U 帳號
2. 設定 DNS 或 hots
vi /etc/resolv.conf
nameserver 10.10.1.1
或
vi /etc/hosts
10.10.1.1 test.lab.corp.com lab.corp
只要修改其中一種能查詢到 lab.corp 網域即可。
3. 修改 Kerberos
vi /etc/krb5.conf
[libdefaults]
default_realm = test.lab.corp <- AD 主機
[realms]
SAMPLE.COM = { <- 改成網域
KDC = test.lab.coep:88 <- AD 認證主機
admin_server = test.lab.corp:749 <- AD 認證主機
default_domain = lab.corp <- 完整網域名稱
}
[domain_realm]
.example.com = LAB.CORP <- 完整網域名稱
example.com = LAB.CORP <- 完整網域名稱
vi /var/kerberos/krb5kdc/kdc.conf <- 如果沒有此檔案,則代表未安裝krb5-server
[realms]
LAB.CORP = { <- 完整網域名稱
................................
}
4. 重新啟動 samba 及 winbind
service smb restart
service winbind restart
設定開機啟動
chkconfig smb on
chkconfig winbind on
5. 加入 sample.com 網域
net ads join -U test001 <- test001 為網域帳號
test001's password:
6. 設定與 DC 溝通時的使用者
wbinfo --set-auth-user=user(具一般使用者權限即可)
Password:
7. 編輯 NSS 設定檔
vi /etc/nsswitch.conf <- 設定認證順序
passwd: files winbind
shadow: files
group: files winbind
8. 測試連線
kinit administrator@LAB.CORP <- 網域名稱要大寫
若密碼正確會跳回命令提示字元
AD主機與Linux主機兩台時間不得相差超過5分鐘 <- 這個部份很容易忽略,要注意。
9. 測試讀取 AD 帳號資訊
wbinfo -u
或
getent passwd
10. 設定本機 UID 與 GID 發放範圍,避免 AD 帳號與 Linux 本機帳號衝突
vi /etc/login.defs
UID_MIN 500
UID_MAX 9999 <- 改為9999
GID_MIN 500
GID_MAX 9999 <- 改為9999
二、整合 Samba
vi /etc/pam.d/samba
#%PAM-1.0
auth required pam_nologin.so
auth sufficient /lib/security/pam_winbind.so <- 加入這行
auth required pam_stack.so service=system-auth
account sufficient /lib/security/pam_winbind.so <- 加入這行
account required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
三、分享目錄
vi /etc/samba/smb.conf
[SRC]
comment = Linux Src <- 目錄描述
path = /ftpdata <- 分享路徑
valid users = lab\gavin lab\test001 <- 允許的使用者,格式為 網域\帳號
public = yes <- 是否公開
writable = yes <- 是否可寫入
service smb restart
四、開啟 ACL
vi /etc/fstab
/dev/hdaX /ftpdata ext3 defaults,acl 1 2
# mount -ro,remount /dev/hdaX <- 重新掛載
開啟 ACL 可讓 File Server 支援 MS 的 User Security
五、設定安全性
1. 在分享的目錄下新增子目錄,並按滑鼠右鍵,選擇「內容」。
2. 點選「安全性」,即可看到與 Windows 下同樣的安全性設定。
註:雖可使用 Windows 下的安全性圖形介面,設定權限,但並非百分之百完全支援。
六、啟動網路資源回收筒機制
vi /etc/samba/smb.conf
[SRC]
comment = Linux Src
path = /ftpdata
valid users = sample\gavin sample\ida
public = yes
writable = yes
在分享目錄後,增加下面幾行
vfs object = recycle
recycle:keeptree = yes
recycle:versions = yes
recycle:repository = ../Garbage/%u
『recycle:keeptree = yes』:
刪除的資料,到了網路資源回收筒後,仍然保有其樹狀結構。
『recycle:versions = yes』:
保留相同的檔案名稱。
『recycle:repository = ../Garbage/%u』:
資源回收筒存放位置,需使用相對路徑表示。
Garbage資料夾的權限需注意,必須讓使用者具有『rwx』權限,且共享的目錄必須設
定 sticky 權限,避免資料被非擁有者刪除。
還原時可使用 cp -p 的指令還原到原先的資料夾中。
之前在恆逸上課,老師曾教過使用 Samba 架設 File Server,並與 AD 2003 整合,正好手邊有一台勘用,但公司要報廢的電腦,於是拿來測試。
測試環境:
AD Server:twadc.sample.com
AD Server IP:10.1.1.57
WINS Server IP:10.1.1.57
DNS Server IP:10.1.1.57
Linux:Fedora 5
套件:samba-3.0.23c-1.fc5
一、整合 AD 2003 帳號
1. 設定 Samba
vi /etc/samba/smb.conf
[global]
workgroup = sample <- 網域名稱
realm = sample.com <- 完整網域名稱
netbios name = linux-src <- 主機名稱
server string = Linux Src Server <- 電腦描述
display charset = Big5 <- 支援中文 ShareName
dos charset = CP950
unix charset = Big5
security = ads <- AD 網域認證模式
password server = test.lab.corp <- 密碼主機
encrypt passwords = yes <- 密碼加密
wins server = 10.10.1.1 <- WINS 主機
idmap uid = 16777000-33550000 <- 修改 GID 與 UID 的範圍及目錄
idmap gid = 16777000-33550000 <- (Linux 從 AD 讀取的帳號)
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash <- 指定 AD 帳號的 Shell
winbind use default domain = yes <- 是否自動套用網域名稱
template homedir = /home/%D/%U <- %D 網域名稱,%U 帳號
2. 設定 DNS 或 hots
vi /etc/resolv.conf
nameserver 10.10.1.1
或
vi /etc/hosts
10.10.1.1 test.lab.corp.com lab.corp
只要修改其中一種能查詢到 lab.corp 網域即可。
3. 修改 Kerberos
vi /etc/krb5.conf
[libdefaults]
default_realm = test.lab.corp <- AD 主機
[realms]
SAMPLE.COM = { <- 改成網域
KDC = test.lab.coep:88 <- AD 認證主機
admin_server = test.lab.corp:749 <- AD 認證主機
default_domain = lab.corp <- 完整網域名稱
}
[domain_realm]
.example.com = LAB.CORP <- 完整網域名稱
example.com = LAB.CORP <- 完整網域名稱
vi /var/kerberos/krb5kdc/kdc.conf <- 如果沒有此檔案,則代表未安裝krb5-server
[realms]
LAB.CORP = { <- 完整網域名稱
................................
}
4. 重新啟動 samba 及 winbind
service smb restart
service winbind restart
設定開機啟動
chkconfig smb on
chkconfig winbind on
5. 加入 sample.com 網域
net ads join -U test001 <- test001 為網域帳號
test001's password:
6. 設定與 DC 溝通時的使用者
wbinfo --set-auth-user=user(具一般使用者權限即可)
Password:
7. 編輯 NSS 設定檔
vi /etc/nsswitch.conf <- 設定認證順序
passwd: files winbind
shadow: files
group: files winbind
8. 測試連線
kinit administrator@LAB.CORP <- 網域名稱要大寫
若密碼正確會跳回命令提示字元
AD主機與Linux主機兩台時間不得相差超過5分鐘 <- 這個部份很容易忽略,要注意。
9. 測試讀取 AD 帳號資訊
wbinfo -u
或
getent passwd
10. 設定本機 UID 與 GID 發放範圍,避免 AD 帳號與 Linux 本機帳號衝突
vi /etc/login.defs
UID_MIN 500
UID_MAX 9999 <- 改為9999
GID_MIN 500
GID_MAX 9999 <- 改為9999
二、整合 Samba
vi /etc/pam.d/samba
#%PAM-1.0
auth required pam_nologin.so
auth sufficient /lib/security/pam_winbind.so <- 加入這行
auth required pam_stack.so service=system-auth
account sufficient /lib/security/pam_winbind.so <- 加入這行
account required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
三、分享目錄
vi /etc/samba/smb.conf
[SRC]
comment = Linux Src <- 目錄描述
path = /ftpdata <- 分享路徑
valid users = lab\gavin lab\test001 <- 允許的使用者,格式為 網域\帳號
public = yes <- 是否公開
writable = yes <- 是否可寫入
service smb restart
四、開啟 ACL
vi /etc/fstab
/dev/hdaX /ftpdata ext3 defaults,acl 1 2
# mount -ro,remount /dev/hdaX <- 重新掛載
開啟 ACL 可讓 File Server 支援 MS 的 User Security
五、設定安全性
1. 在分享的目錄下新增子目錄,並按滑鼠右鍵,選擇「內容」。
2. 點選「安全性」,即可看到與 Windows 下同樣的安全性設定。
註:雖可使用 Windows 下的安全性圖形介面,設定權限,但並非百分之百完全支援。
六、啟動網路資源回收筒機制
vi /etc/samba/smb.conf
[SRC]
comment = Linux Src
path = /ftpdata
valid users = sample\gavin sample\ida
public = yes
writable = yes
在分享目錄後,增加下面幾行
vfs object = recycle
recycle:keeptree = yes
recycle:versions = yes
recycle:repository = ../Garbage/%u
『recycle:keeptree = yes』:
刪除的資料,到了網路資源回收筒後,仍然保有其樹狀結構。
『recycle:versions = yes』:
保留相同的檔案名稱。
『recycle:repository = ../Garbage/%u』:
資源回收筒存放位置,需使用相對路徑表示。
Garbage資料夾的權限需注意,必須讓使用者具有『rwx』權限,且共享的目錄必須設
定 sticky 權限,避免資料被非擁有者刪除。
還原時可使用 cp -p 的指令還原到原先的資料夾中。
Centos - yahoo pchome hotmail 拒絕接收自己架設的 SMTP 的 mail ?
Centos - yahoo pchome hotmail 拒絕接收自己架設的 SMTP 的 mail ?
我的 Linux Mail Server 送出去的信被拒絕了,以下這幾家特別不受歡迎
yahoo.com.tw
pchome.com.tw
hotmail.com
yahoo.com
解決方案:
如果以 sendmail 當作 Mail Server,修改 /etc/mail/mailertable
yahoo.com.tw smtp:168.95.4.211
yahoo.com smtp:168.95.4.211
pchome.com.tw smtp:168.95.4.211
hotmail.com smtp:168.95.4.211
意思是把收件人位於上述網址內的 email 轉給 168.95.4.211 (msa.hinet.net) Relay
如果以 Postfix 當作 Mail Server,修改 /etc/postfix/transport
pchome.com.tw smtp:[msa.hinet.net]
yahoo.com.tw smtp:[msa.hinet.net]
yahoo.com smtp:[msa.hinet.net]
hotmail.com smtp:[msa.hinet.net]
再修改 /etc/postfix/main.cf 加入
transport_maps = hash:/etc/postfix/transport
然後執行
postmap /etc/postfix/transport
我的 Linux Mail Server 送出去的信被拒絕了,以下這幾家特別不受歡迎
yahoo.com.tw
pchome.com.tw
hotmail.com
yahoo.com
解決方案:
如果以 sendmail 當作 Mail Server,修改 /etc/mail/mailertable
yahoo.com.tw smtp:168.95.4.211
yahoo.com smtp:168.95.4.211
pchome.com.tw smtp:168.95.4.211
hotmail.com smtp:168.95.4.211
意思是把收件人位於上述網址內的 email 轉給 168.95.4.211 (msa.hinet.net) Relay
如果以 Postfix 當作 Mail Server,修改 /etc/postfix/transport
pchome.com.tw smtp:[msa.hinet.net]
yahoo.com.tw smtp:[msa.hinet.net]
yahoo.com smtp:[msa.hinet.net]
hotmail.com smtp:[msa.hinet.net]
再修改 /etc/postfix/main.cf 加入
transport_maps = hash:/etc/postfix/transport
然後執行
postmap /etc/postfix/transport
2013-07-29
Eclipse Import Existing Projects into workspace
Eclipse Import Existing Projects into workspace
I've been using Eclipse for many years, originally with JAVA and for the last few years with Flex. We have one project that has around 20 projects in it since it uses a lot of modules and different developers work on different modules. We use eclipse work spaces extensively since we use linked resources to define paths so that the project files can be shared by developers regardless of where they put the source code and regardless of them being on the OSX or Windows.
This has worked well for years but whenever we setup a new machine its a bear since you have to import around 20 projects, one after the other..... until now.
It appears I'm a fool, and have never noticed this wonderful feature in eclipse hidden away on the the import -> other menu.
Lets suppose I have all my projects under
clientname/trunk/project1
clientname/trunk/project2
clientname/trunk/project3
etc..
Instead of importing those projects one at a time, however, instead you can do
File - > Import - > Other -> General - > Import existing projects into workspace
Then I browse to
clientname/trunk
The dialog then populates with all the projects it finds under the trunk folder and child folders.
Check the projects you want and click "ok", and now all those projects are imported into your workspace.
Wish I'd known this feature was available about 2 years ago :) But its great to learn something new.
I've been using Eclipse for many years, originally with JAVA and for the last few years with Flex. We have one project that has around 20 projects in it since it uses a lot of modules and different developers work on different modules. We use eclipse work spaces extensively since we use linked resources to define paths so that the project files can be shared by developers regardless of where they put the source code and regardless of them being on the OSX or Windows.
This has worked well for years but whenever we setup a new machine its a bear since you have to import around 20 projects, one after the other..... until now.
It appears I'm a fool, and have never noticed this wonderful feature in eclipse hidden away on the the import -> other menu.
Lets suppose I have all my projects under
clientname/trunk/project1
clientname/trunk/project2
clientname/trunk/project3
etc..
Instead of importing those projects one at a time, however, instead you can do
File - > Import - > Other -> General - > Import existing projects into workspace
Then I browse to
clientname/trunk
The dialog then populates with all the projects it finds under the trunk folder and child folders.
Check the projects you want and click "ok", and now all those projects are imported into your workspace.
Wish I'd known this feature was available about 2 years ago :) But its great to learn something new.
微軟重申Windows Server 2012 R2支援Linux決心
微軟重申Windows Server 2012 R2支援Linux決心
微軟表示,為了提供客戶單一雲端基礎架構、單一組系統管理工具,我們知道必須確保Windows是「執行Linux作業的最佳基礎架構」。
微軟昨日在TechED大會上重申伺服器軟體包括Windows Server 2012 R2、虛擬化軟體Hyper-V及系統管理軟體如System Center 2012 R2等對Linux作業系統的支援決心。
最新一代Windows Server OS及相關伺服器軟體產品,明顯是環繞著雲端運算而設計。Windows Server及System Center事業群的夥伴部門專案經理Eric Chapple指出,為了提供客戶單一雲端基礎架構、單一組系統管理工具,我們知道必須確保Windows是「執行Linux作業的最佳基礎架構」。
Windows Server 2012中的Hyper-V加入名為Linux integration services(LIS)乃是最新版伺服器作業系統的關鍵所在。Chapple指出,Hyper-V中的LIS內含包括Linux VM的即時備份和即時搬移等功能,使微軟虛擬化軟體能像跑Windows VM一樣來跑Linux VM。配合System Center 2012 R2,讓部署在Windows Server 2012 R2的雲端環境得以同時執行及管理Windows及Linux客端虛擬機器 (guest virtual machine)。
雲端運算成為主流,企業環境包括各種平台的機器。為了順應潮流,避免因過於封閉被邊緣化,支援多元作業系統乃是必然。微軟希望藉Windows Server 2012 R2及Hyper-V能吸引Linux的愛好者上門,而非轉向對手VMware。不過其實早在Windows Server 2008 R2時代,Hyper-V已初步支援SUSE及Red Hat Linux。
微軟表示,LIS為微軟加入Linux社群後的開發成果。而LIS的驅動程式也都經過Linux社群的檢視。現在Red Hat Enterprise Linux、SUSE Linux、Ubuntu、CentOS及Oracle Linux、Debian GPU都內建LIS。
因應Server OS對Linux的支援,管理軟體Microsoft System Center 2012 R2 SP1某些元件,包括Operations Manager、Configuration Manager、Virtual Machine Manager 及Data Protection Manager等也都將支援Linux。
Windows Server 2012 R2與System Center 2012 R2正式版都預計會在今年底出爐。
去年Windows Azure開始支援Linux。日前並宣佈旗下子公司Microsoft Open Technologies(MS Open Tech)與Java執行環境供應商Azul Systems共同開發可於Windows Azure雲端平台上Windows Server使用的免費Java(OpenJDK)。
微軟表示,為了提供客戶單一雲端基礎架構、單一組系統管理工具,我們知道必須確保Windows是「執行Linux作業的最佳基礎架構」。
微軟昨日在TechED大會上重申伺服器軟體包括Windows Server 2012 R2、虛擬化軟體Hyper-V及系統管理軟體如System Center 2012 R2等對Linux作業系統的支援決心。
最新一代Windows Server OS及相關伺服器軟體產品,明顯是環繞著雲端運算而設計。Windows Server及System Center事業群的夥伴部門專案經理Eric Chapple指出,為了提供客戶單一雲端基礎架構、單一組系統管理工具,我們知道必須確保Windows是「執行Linux作業的最佳基礎架構」。
Windows Server 2012中的Hyper-V加入名為Linux integration services(LIS)乃是最新版伺服器作業系統的關鍵所在。Chapple指出,Hyper-V中的LIS內含包括Linux VM的即時備份和即時搬移等功能,使微軟虛擬化軟體能像跑Windows VM一樣來跑Linux VM。配合System Center 2012 R2,讓部署在Windows Server 2012 R2的雲端環境得以同時執行及管理Windows及Linux客端虛擬機器 (guest virtual machine)。
雲端運算成為主流,企業環境包括各種平台的機器。為了順應潮流,避免因過於封閉被邊緣化,支援多元作業系統乃是必然。微軟希望藉Windows Server 2012 R2及Hyper-V能吸引Linux的愛好者上門,而非轉向對手VMware。不過其實早在Windows Server 2008 R2時代,Hyper-V已初步支援SUSE及Red Hat Linux。
微軟表示,LIS為微軟加入Linux社群後的開發成果。而LIS的驅動程式也都經過Linux社群的檢視。現在Red Hat Enterprise Linux、SUSE Linux、Ubuntu、CentOS及Oracle Linux、Debian GPU都內建LIS。
因應Server OS對Linux的支援,管理軟體Microsoft System Center 2012 R2 SP1某些元件,包括Operations Manager、Configuration Manager、Virtual Machine Manager 及Data Protection Manager等也都將支援Linux。
Windows Server 2012 R2與System Center 2012 R2正式版都預計會在今年底出爐。
去年Windows Azure開始支援Linux。日前並宣佈旗下子公司Microsoft Open Technologies(MS Open Tech)與Java執行環境供應商Azul Systems共同開發可於Windows Azure雲端平台上Windows Server使用的免費Java(OpenJDK)。
2013-07-24
病毒攜手合作 互相下載變種以免遭移除
病毒攜手合作 互相下載變種以免遭移除
在這個講求專業分工、互相合作的年代,就連病毒攻擊也不例外,Vobfus和Beebone兩款病毒最近被發現可以交替下載對方的變種程式,彷彿在電腦內創造一個無限循環的感染模式,大幅降低被移除的可能性。
Vobfus為一個下載程式(downloader),在2009年9月首度被發現,曾經利用代號MS10-046的漏洞進行大規模擴散,日前,微軟惡意軟體防護中心(MMPC; Microsoft Malware Protection Center)發現,最新的Vobfus變種為了避免被移除,找上Beebone病毒合作,而且,Vobfus還具備複製到外接式儲存裝置的能力,微軟病毒防護中心的主管Hyun Choi表示,此能力讓Vobfus在外接式儲存裝置上的感染成功率相當高。
當電腦感染Vobfus後,會從C&C伺服器下載Beebone,而Beebone同樣具有下載Vobfus的能力,這兩個病毒藉由不斷下載對方變種程式的合作模式,讓防毒軟體無法立即偵測到最新的變種,即使一方病毒遭移除,只要另一個病毒存在,依舊可以再幫它下載新的變種。
過往,病毒/惡意程式躲避防毒軟體偵測的方式是定期自動更新,缺點是只要使用者更新病毒碼,該隻病毒/惡意程式就有可能被偵測與移除,而Vobfus和Beebone的合作模式讓他們成為彼此的最佳掩護,不僅讓防毒軟體難以捉摸,也為企業資安增添了幾分挑戰。
轉載自《資安人科技網》
在這個講求專業分工、互相合作的年代,就連病毒攻擊也不例外,Vobfus和Beebone兩款病毒最近被發現可以交替下載對方的變種程式,彷彿在電腦內創造一個無限循環的感染模式,大幅降低被移除的可能性。
Vobfus為一個下載程式(downloader),在2009年9月首度被發現,曾經利用代號MS10-046的漏洞進行大規模擴散,日前,微軟惡意軟體防護中心(MMPC; Microsoft Malware Protection Center)發現,最新的Vobfus變種為了避免被移除,找上Beebone病毒合作,而且,Vobfus還具備複製到外接式儲存裝置的能力,微軟病毒防護中心的主管Hyun Choi表示,此能力讓Vobfus在外接式儲存裝置上的感染成功率相當高。
當電腦感染Vobfus後,會從C&C伺服器下載Beebone,而Beebone同樣具有下載Vobfus的能力,這兩個病毒藉由不斷下載對方變種程式的合作模式,讓防毒軟體無法立即偵測到最新的變種,即使一方病毒遭移除,只要另一個病毒存在,依舊可以再幫它下載新的變種。
過往,病毒/惡意程式躲避防毒軟體偵測的方式是定期自動更新,缺點是只要使用者更新病毒碼,該隻病毒/惡意程式就有可能被偵測與移除,而Vobfus和Beebone的合作模式讓他們成為彼此的最佳掩護,不僅讓防毒軟體難以捉摸,也為企業資安增添了幾分挑戰。
轉載自《資安人科技網》
這就是狼狽為奸!惡意程式Vobus及Beebone相互掩護入侵電腦
這就是狼狽為奸!惡意程式Vobus及Beebone相互掩護入侵電腦
日前出現兩個會相互合作以入侵電腦的惡意軟體計畫,事實證明,兩者協同合作結果,讓移除工作變得更困難。
惡意程式協同合作微軟惡意軟體防護中心(Malware Protection Center)Hyun Choi於本週日指出,這兩個惡意軟體會協同合作地透過交替下載彼此不同之更輕量型變種,以規避防毒軟體的偵測網。
「透過Beebone及Vobus之間下載彼此變種的周期性循環合作關係,益使得Vobfus能更具彈性地面對防毒產品,」Choi撰寫指出:「或許透過防毒軟體的更新,便可在系統中偵測到其中一個變種,但不論如何,較新已下載的變種則無法立即偵測得到。」
其他已知的惡意程式計畫,則會嘗試在電腦一遭到感染時便自我更新。即使惡意程式遭到偵測並移除,遭鎖定的電腦仍會被攻擊者再度感染。透過上述做法,Vobus及Beebone就能讓電腦持續遭到感染。
Vobus是一隻會自我複製到隨身磁碟中的蠕蟲,該蠕蟲具備自動執行機制,亦即一旦成功在某電腦上執行,便會導致Vobus進一步自地執行並感染其他Windows電腦。
Choi表示,「在現實網路上,我們已觀察到,Vobfus一直能維持一個非常成功的隨身磁碟感染率。」
資料來源:PCWorld
轉載自《網路資訊雜誌》
日前出現兩個會相互合作以入侵電腦的惡意軟體計畫,事實證明,兩者協同合作結果,讓移除工作變得更困難。
惡意程式協同合作微軟惡意軟體防護中心(Malware Protection Center)Hyun Choi於本週日指出,這兩個惡意軟體會協同合作地透過交替下載彼此不同之更輕量型變種,以規避防毒軟體的偵測網。
「透過Beebone及Vobus之間下載彼此變種的周期性循環合作關係,益使得Vobfus能更具彈性地面對防毒產品,」Choi撰寫指出:「或許透過防毒軟體的更新,便可在系統中偵測到其中一個變種,但不論如何,較新已下載的變種則無法立即偵測得到。」
其他已知的惡意程式計畫,則會嘗試在電腦一遭到感染時便自我更新。即使惡意程式遭到偵測並移除,遭鎖定的電腦仍會被攻擊者再度感染。透過上述做法,Vobus及Beebone就能讓電腦持續遭到感染。
Vobus是一隻會自我複製到隨身磁碟中的蠕蟲,該蠕蟲具備自動執行機制,亦即一旦成功在某電腦上執行,便會導致Vobus進一步自地執行並感染其他Windows電腦。
Choi表示,「在現實網路上,我們已觀察到,Vobfus一直能維持一個非常成功的隨身磁碟感染率。」
資料來源:PCWorld
轉載自《網路資訊雜誌》
2013-07-22
Apache Struts 2高風險漏洞釀災,基金會呼籲盡快安裝安全更新
Apache Struts 2高風險漏洞釀災,基金會呼籲盡快安裝安全更新
這些漏洞已在中國釀成災難。新浪網報導,包括百度、阿里巴巴、騰訊等大型網站及政府、金融機構都受到影響。其中百度更為此針對百度站長平台的使用者發出緊急安全通告。
Apache Software基金會針對Apache Struts2 二項可讓駭客取得企業網站伺服器控制權的高風險漏洞發出安全更新,由於駭客已經針對漏洞發動攻擊,基金會強烈建議使用者迅速下載並安裝更新。
Java Web應用的開發框架Struts 2.3.15.1公眾版安全更新旨在修復Struts2中兩項和DefaultActionMapper class及其Action有關的兩項安全漏洞。安全專家表示,漏洞出在縮寫的導航和重定向前綴 (short-circuit navigation parameter prefix) 三個Actions:「action:」、 「redirect:」、 「redirectAction:」上,由於這些參數前綴的內容沒有被正確過濾,讓駭客可以透過漏洞執行命令,存取受害伺服器的訊息,進一步取得最高控制權限。
根據Apache軟體基金會的公告,兩項漏洞中,S2-016會導致系統遭到駭客遠端執行程式碼,Apache軟體基金會將它列為高風險 (highly critical) 。S2-017則會給駭客開啟重導引 (redirect) 的機會。
這些漏洞已在中國釀成災難,新浪網報導,包括百度、阿里巴巴、騰訊等大型網站及政府、金融機構都受到影響。其中百度在周四(7/18)更針對百度站長平台的使用者發出安全通告:「昨日,互聯網遭受了一場漏洞風波——Apache Struts2高危漏洞,影響到Struts 2.0.0 - Struts 2.3.15的所有版本。全球千萬網站及國內各大網站均受到不同程度的影響。攻擊者可以利用該漏洞執行惡意java代碼,最終導致網站資料被竊取、網頁被篡改等嚴重後果。為了避免站長們的損失,百度站長平臺現發出安全風險通告,請您排查網站是否使用Struts2框架,如使用請您及時診斷自己網站是否存在該漏洞。」
Apache基金會強烈建議使用者迅速下載並安裝更新。Struts開發人員已在更新中加入可過濾「action: 」前綴資訊的程式碼,且移除「redirect: 」及「redirectAction: 」前綴的支援。由於使用舊版前綴的應用無法使用最新版的Struts 2.3.15.1,因此Apache基金會也建議企業以修改過的導航規則取代之。
轉載自《iThome》
這些漏洞已在中國釀成災難。新浪網報導,包括百度、阿里巴巴、騰訊等大型網站及政府、金融機構都受到影響。其中百度更為此針對百度站長平台的使用者發出緊急安全通告。
Apache Software基金會針對Apache Struts2 二項可讓駭客取得企業網站伺服器控制權的高風險漏洞發出安全更新,由於駭客已經針對漏洞發動攻擊,基金會強烈建議使用者迅速下載並安裝更新。
Java Web應用的開發框架Struts 2.3.15.1公眾版安全更新旨在修復Struts2中兩項和DefaultActionMapper class及其Action有關的兩項安全漏洞。安全專家表示,漏洞出在縮寫的導航和重定向前綴 (short-circuit navigation parameter prefix) 三個Actions:「action:」、 「redirect:」、 「redirectAction:」上,由於這些參數前綴的內容沒有被正確過濾,讓駭客可以透過漏洞執行命令,存取受害伺服器的訊息,進一步取得最高控制權限。
根據Apache軟體基金會的公告,兩項漏洞中,S2-016會導致系統遭到駭客遠端執行程式碼,Apache軟體基金會將它列為高風險 (highly critical) 。S2-017則會給駭客開啟重導引 (redirect) 的機會。
這些漏洞已在中國釀成災難,新浪網報導,包括百度、阿里巴巴、騰訊等大型網站及政府、金融機構都受到影響。其中百度在周四(7/18)更針對百度站長平台的使用者發出安全通告:「昨日,互聯網遭受了一場漏洞風波——Apache Struts2高危漏洞,影響到Struts 2.0.0 - Struts 2.3.15的所有版本。全球千萬網站及國內各大網站均受到不同程度的影響。攻擊者可以利用該漏洞執行惡意java代碼,最終導致網站資料被竊取、網頁被篡改等嚴重後果。為了避免站長們的損失,百度站長平臺現發出安全風險通告,請您排查網站是否使用Struts2框架,如使用請您及時診斷自己網站是否存在該漏洞。」
Apache基金會強烈建議使用者迅速下載並安裝更新。Struts開發人員已在更新中加入可過濾「action: 」前綴資訊的程式碼,且移除「redirect: 」及「redirectAction: 」前綴的支援。由於使用舊版前綴的應用無法使用最新版的Struts 2.3.15.1,因此Apache基金會也建議企業以修改過的導航規則取代之。
轉載自《iThome》
研究人員揭露 Java 7 新漏洞,10年前的手法就可攻陷
研究人員揭露 Java 7 新漏洞,10年前的手法就可攻陷
Gowdiak並批評,如果甲骨文的Java SE有採用任何的軟體安全保證程序,就應該在Java SE 7發表前便解決Reflection API的缺陷,也應能杜絕10年前的攻擊手法,從該漏洞可合理懷疑要不是甲骨文的安全政策與程序不值一提,就是執行層面有問題。
波蘭資安業者Security Explorations周四(7/18)透過Full Disclosure揭露了Java SE 7中的安全漏洞,宣稱這雖然是個新發現的漏洞,但以10年前的技術就能攻陷。
Security Explorations執行長Adam Gowdiak表示,該漏洞允許駭客利用10年前便廣為人知的手法來攻擊Java虛擬機器,此類的威脅應該是在添增新功能至核心的虛擬機器時便應在第一時間防止的,更令人訝異的是在Java SE 7中的Reflection API並未採取應有的保護機制來防堵該攻擊。
Reflection API為一在包含Java等高階虛擬機器語言中非常普遍的技術,可用來檢查與修改物件在運行時的架構及行為。
Security Explorations已經打造出該漏洞的概念性攻擊程式,並證實可執行於Java SE 7 Update 25及之前的版本,將可入侵Java虛擬機器的基本功能。
Gowdiak並批評,如果甲骨文的Java SE有採用任何的軟體安全保證程序,就應該在Java SE 7發表前便解決Reflection API的缺陷,也應能杜絕10年前的攻擊手法,從該漏洞可合理懷疑要不是甲骨文的安全政策與程序不值一提,就是執行層面有問題。
從去年底開始,資安研究人員便不斷披露Java的安全漏洞,Facebook、蘋果及微軟都成為Java漏洞的受害者,還有不少業者建議使用者暫時關閉瀏覽器中的Java功能以避免受到影響,雖然甲骨文今年以來已多次釋出Java更新,然而Java的安全問題似乎仍未解決。
轉載自《iThome
Gowdiak並批評,如果甲骨文的Java SE有採用任何的軟體安全保證程序,就應該在Java SE 7發表前便解決Reflection API的缺陷,也應能杜絕10年前的攻擊手法,從該漏洞可合理懷疑要不是甲骨文的安全政策與程序不值一提,就是執行層面有問題。
波蘭資安業者Security Explorations周四(7/18)透過Full Disclosure揭露了Java SE 7中的安全漏洞,宣稱這雖然是個新發現的漏洞,但以10年前的技術就能攻陷。
Security Explorations執行長Adam Gowdiak表示,該漏洞允許駭客利用10年前便廣為人知的手法來攻擊Java虛擬機器,此類的威脅應該是在添增新功能至核心的虛擬機器時便應在第一時間防止的,更令人訝異的是在Java SE 7中的Reflection API並未採取應有的保護機制來防堵該攻擊。
Reflection API為一在包含Java等高階虛擬機器語言中非常普遍的技術,可用來檢查與修改物件在運行時的架構及行為。
Security Explorations已經打造出該漏洞的概念性攻擊程式,並證實可執行於Java SE 7 Update 25及之前的版本,將可入侵Java虛擬機器的基本功能。
Gowdiak並批評,如果甲骨文的Java SE有採用任何的軟體安全保證程序,就應該在Java SE 7發表前便解決Reflection API的缺陷,也應能杜絕10年前的攻擊手法,從該漏洞可合理懷疑要不是甲骨文的安全政策與程序不值一提,就是執行層面有問題。
從去年底開始,資安研究人員便不斷披露Java的安全漏洞,Facebook、蘋果及微軟都成為Java漏洞的受害者,還有不少業者建議使用者暫時關閉瀏覽器中的Java功能以避免受到影響,雖然甲骨文今年以來已多次釋出Java更新,然而Java的安全問題似乎仍未解決。
轉載自《iThome
2013-07-19
Java 教程《語法說明》註解
Java 教程《語法說明》註解
■ 註解
/* This is a comment. */
// This is also a comment.
/** 文件式註解 */
[說明]
1. 在 /* */ 或 /** */ 內的文字或 // 後的文字都會被 Java compiler 忽略
2. 建議的註解內容:
A) 每一程式的頂端的註解:
1> 程式名稱
2> 設計者名稱
3> 最後版本的日期
4> 該程式的描述
B) 在 method 開頭前的註解:
1> 類別名稱和method名稱
2> 該method 的作用目的
3> 任何有關該method須注意之處,例如錯誤狀況處理或該method可處理或無法處理的特別之處
C) variable 代表的意義
3. 文件式註解
A) javadoc.exe 可解析程式碼內的註解文件。
B) Javadoc.exe 的使用有兩種主要型式:內嵌式HTML,或是文件標籤(doc tag,以@ 符號為首的命令,這個符號必須置於
註解的最前面,也就是扣掉最前面的* 之後的最前面處)。
C) 文件式註解內容有三種型式,註解位置需分別出現於 class、variable 和 method 之前。
註解標籤 與 類別相關的標籤
@version 版本編號(須使用 -version 選項)
@author 作者姓名(須使用 -author 選項)
‧ 與方法相關的標籤
@ param、 @return、 @throws、 @exception
‧ 一般標籤
@see 表示有所關聯的類別或方法;也可以使用標記(label)或超鏈結,或是產生內嵌的文字鏈結(鏈結不會出現在 See Also 標題下方)
A) 參照其它類別
@see PackageName.ClassName
B) 參照另一個方法
@see ClassName#methodName
@see PackageName.ClassName#methodName(Type id, Type id)
C) 使用超鏈結
@see <a href="LinkURL">Link</a>
D) 使用標記
@see name label
E) 產生內嵌的文字鏈結
{ @see API-Name label }
[限制]
1. 不能使用巢狀(nested)註解
2. javadoc.exe 只會針對存取層級為 public 或 protected 的 members 進行註解文件的處理,不會處理 private 層級
的 members,除非打開 -private 選項,一併處理 private 成員,因為只有宣告為 public 和 protected 的成員,
才能被外界存取;而針對 class 所做的註解,都會處理並輸出。
[範例]
/** class 的註解 */
public class MyClassA {
/** variable 的註解 */
public int instancevariableA;
/** method 的註解 */
public void instanceMethodB( );
}
[範例]
/**
* Doubles an integer
*
* @param k The integer to double
* @return An integer containing the doubled value
*/
public int double( int k ) {
return 2*k;
}
[範例]
/**
* This is a sample comment
* @auther : ABC
* @version 1.0
* @returns java.lang.String
* @throws Exception
*/
■ 註解
/* This is a comment. */
// This is also a comment.
/** 文件式註解 */
[說明]
1. 在 /* */ 或 /** */ 內的文字或 // 後的文字都會被 Java compiler 忽略
2. 建議的註解內容:
A) 每一程式的頂端的註解:
1> 程式名稱
2> 設計者名稱
3> 最後版本的日期
4> 該程式的描述
B) 在 method 開頭前的註解:
1> 類別名稱和method名稱
2> 該method 的作用目的
3> 任何有關該method須注意之處,例如錯誤狀況處理或該method可處理或無法處理的特別之處
C) variable 代表的意義
3. 文件式註解
A) javadoc.exe 可解析程式碼內的註解文件。
B) Javadoc.exe 的使用有兩種主要型式:內嵌式HTML,或是文件標籤(doc tag,以@ 符號為首的命令,這個符號必須置於
註解的最前面,也就是扣掉最前面的* 之後的最前面處)。
C) 文件式註解內容有三種型式,註解位置需分別出現於 class、variable 和 method 之前。
註解標籤 與 類別相關的標籤
@version 版本編號(須使用 -version 選項)
@author 作者姓名(須使用 -author 選項)
‧ 與方法相關的標籤
@ param、 @return、 @throws、 @exception
‧ 一般標籤
@see 表示有所關聯的類別或方法;也可以使用標記(label)或超鏈結,或是產生內嵌的文字鏈結(鏈結不會出現在 See Also 標題下方)
A) 參照其它類別
@see PackageName.ClassName
B) 參照另一個方法
@see ClassName#methodName
@see PackageName.ClassName#methodName(Type id, Type id)
C) 使用超鏈結
@see <a href="LinkURL">Link</a>
D) 使用標記
@see name label
E) 產生內嵌的文字鏈結
{ @see API-Name label }
[限制]
1. 不能使用巢狀(nested)註解
2. javadoc.exe 只會針對存取層級為 public 或 protected 的 members 進行註解文件的處理,不會處理 private 層級
的 members,除非打開 -private 選項,一併處理 private 成員,因為只有宣告為 public 和 protected 的成員,
才能被外界存取;而針對 class 所做的註解,都會處理並輸出。
[範例]
/** class 的註解 */
public class MyClassA {
/** variable 的註解 */
public int instancevariableA;
/** method 的註解 */
public void instanceMethodB( );
}
[範例]
/**
* Doubles an integer
*
* @param k The integer to double
* @return An integer containing the doubled value
*/
public int double( int k ) {
return 2*k;
}
[範例]
/**
* This is a sample comment
* @auther : ABC
* @version 1.0
* @returns java.lang.String
* @throws Exception
*/
2013-07-18
查修網路一目瞭然 用 Weathermap 強化 Cacti
視覺化網路監控工具 架構圖上看設備狀態流量,查修網路一目瞭然 用 Weathermap 強化 Cacti 。
本文將介紹 Cacti 的外掛程式 Weathermap。運用 Weathermap 可以在同一個網頁內顯示網路架構圖以及設備的狀態和流量等相關資訊(前提是設備數量不要太多,畢竟設備太多就很難一目瞭然),讓管理者可以輕易地在短暫的時間內找出 CPU 負載過大、記憶體剩餘太少、Session 數使用過多,或是流量異常上升的設備,以確實找出問題點。
在以下的篇幅,將介紹 Weathermap 的安裝及操作流程供讀者參考,以評估是否需要架設在現有的網路內。
安裝及設定 Weathermap
Weathermap 相關資訊及說明均存放在 Cacti 的網頁(weathmap)中,其下載頁面。
Weathermap有兩種執行方式,一種是作為 Cacti 的 Plugins 執行,另一種是當作網頁程式單獨執行,這裡將示範以 Plugins 的方式執行。
首先,將檔案下載回來,存放至「/usr/src」目錄內。
筆者原先使用的 Cacti 為 0.8.7g 版(先前在 Ubuntu 11.04 以 apt-get 方式安裝),尚不支援 Plugins,因此必須自行升級為 0.8.8a 版(或更新的版本)。
詳細的操作可以參考 Cacti 官方網頁。以下是筆者的操作流程:
下載最新版的 Cacti,解壓後安裝至「/var/www/cacti」目錄內,並將原先 rra 目錄中的 rrd 檔、scripts 以及 resource 裡面的程式都複製到新的目錄內(如果尚未新增設備及新增 script 則無需進行此動作)。
請讀者自行尋找 apache2 相關設定檔,並修改其內容:
將 Alias /cacti /usr/share/cacti/site ,修改為 Alias /cacti /var/www/cacti。
接著將 Weathermap 解壓縮,並移至 Cacti 的目錄,再修改目錄及檔案所屬群組:
最後重新開啟 Apache,讓它讀入 Cacti 的新目錄設定:
再調整一下 Cacti 對於資料庫的相關設定:
將 MySQL 的部分配合自己的帳號和密碼進行修改,之後再重新開啟 Cacti 的網頁,它會發現這是一個升版動作,接著依它的指示依序執行即可。
在此須注意的是,Cacti 是否有定時執行?記得檢查一下「/etc/cron.d/cacti」檔案裡的內容,並將目錄修改成 Cacti 升版後的所在目錄:
修改成
登入 Cacti 之後,可以在左下角找到 Plugin Management 的連結,這就代表已經成功更新了Cacti,並且可以使用外掛程式管理功能,如圖1所示。
隨後點選 Plugin Management,此時就可以看到 Weathermap 已經出現在 Plugin 的名單中,如圖2所示。在 Action 欄位內,可以看出它目前是處於非啟動狀態。點選該箭頭圖示,將其啟動。
在點選箭頭圖示後,它會從原先的藍色向下變為紅色向上。此時,在 Console 選單的 Management 裡就可以看到 Weathermaps 的選項,將其點選,以進行細部的設定,如圖3所示。
之後修改群組設定,按下〔edit groups〕按鈕,如圖4所示。
接著再點選「Rename」,將原先的 Group Name 修改為「The Great Network」,讀者請依自己的需求進行調整,如圖5所示。
最後,開始編輯自己的地圖。同樣點選圖5中的「Weathermap Editor」。此時會有以下的說明:
The editor has not been enabled yet. You need to set ENABLED=true at the top of editor.php Before you do that, you should consider using FilesMatch (in Apache) or similar to limit who can access the editor. There is more information in the install guide section of the manual.
大意是說,需要在 editor.php 檔案中設定 ENABLED=true,另外這個檔案會有安全性的疑慮,請設法保護它的安全。
筆者的伺服器僅對內網開放,因此不必特別加以保護,若讀者有此需求,可自行參閱 Apache的網頁說明。
接著,利用指令「vi /var/www/cacti/plugins/weathermap/editor.php」編輯 editor.php,並找到「$ENABLED=false;」這一行(筆者的檔案中是在第七行)。將 $ENABLED=false; 修改為$ENABLED=true;。
再點選一次圖5中「Weathermap Editor」,就會看到如圖6的頁面。在 Create A New Map 欄位內輸入「Office Network」,並按下右側的〔Create〕按鈕。
然後,程式就會引導進入繪圖介面,如圖7所示。
實際操作 Weathermap:建立一個簡單的 Map
在此實際操作 Weathermap,並建立一個簡單 Map 的流程供讀者參考。
在此操作中,較常使用的是功能表介面,筆者放大如圖8所示(圖7的上半部分),以方便之後進行說明。
Weathermap 可以直接套用 Cacti 建立的各種圖形(這也是本文選擇作為 Cacti 的 Plugin 執行的最大原因)。因此在建立 Map 之前,必須先利用 Cacti 的介面來建立設備的相關圖形。
筆者事先建立了 Cisco 2950 switch 及 Cisco 871 router 的 CPU 使用率、記憶體使用量及流量使用量的圖形。讀者可至「http://forums.cacti.net/about15067.html」網頁中尋找自己設備適用的Template,以加速建立相關圖形的速度,詳細操作流程可參閱網管人第83期。
在此提醒一下讀者,若單純只是要將圖形藉由 Weathermap 帶出,那麼在建立圖形過程中建立Graph Trees 的相關動作是不需要執行的。
繼續把 Weathermap 完成。先點選圖8中的「Add Node」,此時滑鼠的游標會變成十字形,接著在網頁白色部分(繪圖區,請參考圖7)上想要的位置加以點選,此時繪圖區會出現 Node 的圖形。
接著,使用滑鼠左鍵點選「Node」,並編輯成想要的名稱。在此只需修改 Lable、’Hover’Graph URL 及 Icon Filename 即可。
將 Node 改為 Router,並點選開啟 Icon Filename 的下拉式選單,選擇【images/Router.png】(此為內建的檔案,可自行上傳圖檔至「/var/www/cacti/plugins/weathermap/images/」),最後點選「Pick from Cacti」。
此時會出現之前建立的 Cacti 的 Graph List,如圖10所示。可點選「Host」,以加速篩選速度,這裡直接點選「Router – CPU Usage」,最後按下〔Submit〕按鈕即可。
接著同樣新增一個 Node,位置約莫在原先的 Node 下方,在 Graph 部分,選擇的是「Router – Memory Usage」,Label 部分則輸入「Memory」。
如果位置不好調整的話,在建立過程中可修改 Position 的欄位調整其 X 軸及 Y 軸的值(圖9)。
也可以直接編輯設定檔,以此例而言,設定檔存放在「/var/www/cacti/plugins/weathermap/configs/」中,會有一個與自己設定的 Map 名稱相同的檔案。
將其開啟後,可以搜尋 Label 名稱,往下可以看到 POSITION 的欄位,之後就可以自行調整其 X 軸與 Y 軸的值。
依循相同的步驟,在 Map 上建立 Switch 的相關圖形。最後點選圖8中的「Add Link」,再依序點選先前建立的 Router 和 Switch 的圖形。Weathermap 會自動在兩者之間建立兩個指向對方的箭頭。
接著點選這個 Link,並依照自己的需求更新 Maximum Bandwidth 與 Data Source 的欄位,如圖11所示。
Link 的 Data Source,一般是抓取兩部設備介接的介面的流量圖,以便看出是否有流量異常的情形發生。在選擇「Pick from Cacti」後,Info URL 和 ’Hover’Graph URL 欄位也會自動填寫完成。之後再點選右上角的〔Submit〕按鈕,基本的 Map 就完成了。
最後將此 Map 放到上面的 Weathermap 選單中。點選圖8最左邊的「Change File」,就可以回到 Cacti 的網頁。接著,同樣點選左邊選單的「Weathermap」,並點選右邊的「Add」,如圖12所示。
接著出現的畫面如圖13所示,再點選 Office Network 最前方的「Add」,就完成了。
最後點選上方選單的 Weathermap,就可以看到剛剛辛苦建立的 Map。
此時,如果把滑鼠游標滑過圖形,就可以看到對應的 Graph,例如滑鼠滑過 Router,可以看到CPU Usage,滑過 Router 下方的 Memory,將會顯示 Memory Usage,滑過兩個設備間的 Link,就能夠看到流量圖。
圖14所示便是滑鼠滑過 Memory 時的顯示情形。
Link 會顯示流量的使用率,在此例中上傳為 0.01%,下載為 0.0.1%。依不同的使用率區間,會有不同的顏色,管理者可以清楚得知是否某些 Link 有巨大的流量流經。
另外,在建立 Link 時,也可以設定當流量使用率到達某個門檻值時,產生對應的 IN Comment和 OUT Comment,以便於判斷。
結語
在障礙查修時,太多的情報和太少的資訊,都會影響查修的速度。可以利用 Weathermap 簡潔的介面,在一個頁面內同時看出網路的架構和各種流量圖,它提供適量的資訊讓管理者可以輕易地判斷問題點,藉以提升查修的速度。如果原先就已經架設 Cacti 的管理者,不妨一併安裝 Weathermap,利用此方便的工具讓自己的工作更輕鬆。
Weathermap 能自訂的部分相當多,本文只是拋磚引玉引領各位讀者進行簡單的操作,讀者若有興趣的話,不妨自行鑽研,相信必定能挖掘出 Weathermap 更多的功能。
轉載自《網管人》、《不及格網管》
本文將介紹 Cacti 的外掛程式 Weathermap。運用 Weathermap 可以在同一個網頁內顯示網路架構圖以及設備的狀態和流量等相關資訊(前提是設備數量不要太多,畢竟設備太多就很難一目瞭然),讓管理者可以輕易地在短暫的時間內找出 CPU 負載過大、記憶體剩餘太少、Session 數使用過多,或是流量異常上升的設備,以確實找出問題點。
在以下的篇幅,將介紹 Weathermap 的安裝及操作流程供讀者參考,以評估是否需要架設在現有的網路內。
安裝及設定 Weathermap
Weathermap 相關資訊及說明均存放在 Cacti 的網頁(weathmap)中,其下載頁面。
Weathermap有兩種執行方式,一種是作為 Cacti 的 Plugins 執行,另一種是當作網頁程式單獨執行,這裡將示範以 Plugins 的方式執行。
首先,將檔案下載回來,存放至「/usr/src」目錄內。
筆者原先使用的 Cacti 為 0.8.7g 版(先前在 Ubuntu 11.04 以 apt-get 方式安裝),尚不支援 Plugins,因此必須自行升級為 0.8.8a 版(或更新的版本)。
詳細的操作可以參考 Cacti 官方網頁。以下是筆者的操作流程:
下載最新版的 Cacti,解壓後安裝至「/var/www/cacti」目錄內,並將原先 rra 目錄中的 rrd 檔、scripts 以及 resource 裡面的程式都複製到新的目錄內(如果尚未新增設備及新增 script 則無需進行此動作)。
請讀者自行尋找 apache2 相關設定檔,並修改其內容:
將 Alias /cacti /usr/share/cacti/site ,修改為 Alias /cacti /var/www/cacti。
接著將 Weathermap 解壓縮,並移至 Cacti 的目錄,再修改目錄及檔案所屬群組:
最後重新開啟 Apache,讓它讀入 Cacti 的新目錄設定:
再調整一下 Cacti 對於資料庫的相關設定:
將 MySQL 的部分配合自己的帳號和密碼進行修改,之後再重新開啟 Cacti 的網頁,它會發現這是一個升版動作,接著依它的指示依序執行即可。
在此須注意的是,Cacti 是否有定時執行?記得檢查一下「/etc/cron.d/cacti」檔案裡的內容,並將目錄修改成 Cacti 升版後的所在目錄:
修改成
登入 Cacti 之後,可以在左下角找到 Plugin Management 的連結,這就代表已經成功更新了Cacti,並且可以使用外掛程式管理功能,如圖1所示。
▲圖1 Cacti更新後可執行外掛程式管理功能。 |
隨後點選 Plugin Management,此時就可以看到 Weathermap 已經出現在 Plugin 的名單中,如圖2所示。在 Action 欄位內,可以看出它目前是處於非啟動狀態。點選該箭頭圖示,將其啟動。
▲圖2 Weathermap已出現在Plugin的名單內。
|
在點選箭頭圖示後,它會從原先的藍色向下變為紅色向上。此時,在 Console 選單的 Management 裡就可以看到 Weathermaps 的選項,將其點選,以進行細部的設定,如圖3所示。
▲圖3 選擇Console選單中的Weathermaps,以進行細部設定。 |
之後修改群組設定,按下〔edit groups〕按鈕,如圖4所示。
▲圖4 修改群組設定。 |
接著再點選「Rename」,將原先的 Group Name 修改為「The Great Network」,讀者請依自己的需求進行調整,如圖5所示。
▲圖5 修改群組名稱。 |
最後,開始編輯自己的地圖。同樣點選圖5中的「Weathermap Editor」。此時會有以下的說明:
The editor has not been enabled yet. You need to set ENABLED=true at the top of editor.php Before you do that, you should consider using FilesMatch (in Apache) or similar to limit who can access the editor. There is more information in the install guide section of the manual.
大意是說,需要在 editor.php 檔案中設定 ENABLED=true,另外這個檔案會有安全性的疑慮,請設法保護它的安全。
筆者的伺服器僅對內網開放,因此不必特別加以保護,若讀者有此需求,可自行參閱 Apache的網頁說明。
接著,利用指令「vi /var/www/cacti/plugins/weathermap/editor.php」編輯 editor.php,並找到「$ENABLED=false;」這一行(筆者的檔案中是在第七行)。將 $ENABLED=false; 修改為$ENABLED=true;。
再點選一次圖5中「Weathermap Editor」,就會看到如圖6的頁面。在 Create A New Map 欄位內輸入「Office Network」,並按下右側的〔Create〕按鈕。
▲圖6 設定Map名稱。 |
然後,程式就會引導進入繪圖介面,如圖7所示。
▲圖7 Weathermap繪圖介面。 |
實際操作 Weathermap:建立一個簡單的 Map
在此實際操作 Weathermap,並建立一個簡單 Map 的流程供讀者參考。
在此操作中,較常使用的是功能表介面,筆者放大如圖8所示(圖7的上半部分),以方便之後進行說明。
▲圖8 繪圖介面功能表。 |
Weathermap 可以直接套用 Cacti 建立的各種圖形(這也是本文選擇作為 Cacti 的 Plugin 執行的最大原因)。因此在建立 Map 之前,必須先利用 Cacti 的介面來建立設備的相關圖形。
筆者事先建立了 Cisco 2950 switch 及 Cisco 871 router 的 CPU 使用率、記憶體使用量及流量使用量的圖形。讀者可至「http://forums.cacti.net/about15067.html」網頁中尋找自己設備適用的Template,以加速建立相關圖形的速度,詳細操作流程可參閱網管人第83期。
在此提醒一下讀者,若單純只是要將圖形藉由 Weathermap 帶出,那麼在建立圖形過程中建立Graph Trees 的相關動作是不需要執行的。
繼續把 Weathermap 完成。先點選圖8中的「Add Node」,此時滑鼠的游標會變成十字形,接著在網頁白色部分(繪圖區,請參考圖7)上想要的位置加以點選,此時繪圖區會出現 Node 的圖形。
接著,使用滑鼠左鍵點選「Node」,並編輯成想要的名稱。在此只需修改 Lable、’Hover’Graph URL 及 Icon Filename 即可。
▲圖9 修改Node資訊。 |
將 Node 改為 Router,並點選開啟 Icon Filename 的下拉式選單,選擇【images/Router.png】(此為內建的檔案,可自行上傳圖檔至「/var/www/cacti/plugins/weathermap/images/」),最後點選「Pick from Cacti」。
此時會出現之前建立的 Cacti 的 Graph List,如圖10所示。可點選「Host」,以加速篩選速度,這裡直接點選「Router – CPU Usage」,最後按下〔Submit〕按鈕即可。
▲圖10 選擇適用的Graph List。 |
接著同樣新增一個 Node,位置約莫在原先的 Node 下方,在 Graph 部分,選擇的是「Router – Memory Usage」,Label 部分則輸入「Memory」。
如果位置不好調整的話,在建立過程中可修改 Position 的欄位調整其 X 軸及 Y 軸的值(圖9)。
也可以直接編輯設定檔,以此例而言,設定檔存放在「/var/www/cacti/plugins/weathermap/configs/」中,會有一個與自己設定的 Map 名稱相同的檔案。
將其開啟後,可以搜尋 Label 名稱,往下可以看到 POSITION 的欄位,之後就可以自行調整其 X 軸與 Y 軸的值。
依循相同的步驟,在 Map 上建立 Switch 的相關圖形。最後點選圖8中的「Add Link」,再依序點選先前建立的 Router 和 Switch 的圖形。Weathermap 會自動在兩者之間建立兩個指向對方的箭頭。
接著點選這個 Link,並依照自己的需求更新 Maximum Bandwidth 與 Data Source 的欄位,如圖11所示。
▲圖11 建立Link相關資訊。 |
Link 的 Data Source,一般是抓取兩部設備介接的介面的流量圖,以便看出是否有流量異常的情形發生。在選擇「Pick from Cacti」後,Info URL 和 ’Hover’Graph URL 欄位也會自動填寫完成。之後再點選右上角的〔Submit〕按鈕,基本的 Map 就完成了。
最後將此 Map 放到上面的 Weathermap 選單中。點選圖8最左邊的「Change File」,就可以回到 Cacti 的網頁。接著,同樣點選左邊選單的「Weathermap」,並點選右邊的「Add」,如圖12所示。
▲圖12 新增map至Weathermap。 |
接著出現的畫面如圖13所示,再點選 Office Network 最前方的「Add」,就完成了。
▲圖12 新增map至Weathermap。 |
最後點選上方選單的 Weathermap,就可以看到剛剛辛苦建立的 Map。
此時,如果把滑鼠游標滑過圖形,就可以看到對應的 Graph,例如滑鼠滑過 Router,可以看到CPU Usage,滑過 Router 下方的 Memory,將會顯示 Memory Usage,滑過兩個設備間的 Link,就能夠看到流量圖。
圖14所示便是滑鼠滑過 Memory 時的顯示情形。
▲圖14 Weathermap 的輸出。 |
Link 會顯示流量的使用率,在此例中上傳為 0.01%,下載為 0.0.1%。依不同的使用率區間,會有不同的顏色,管理者可以清楚得知是否某些 Link 有巨大的流量流經。
另外,在建立 Link 時,也可以設定當流量使用率到達某個門檻值時,產生對應的 IN Comment和 OUT Comment,以便於判斷。
結語
在障礙查修時,太多的情報和太少的資訊,都會影響查修的速度。可以利用 Weathermap 簡潔的介面,在一個頁面內同時看出網路的架構和各種流量圖,它提供適量的資訊讓管理者可以輕易地判斷問題點,藉以提升查修的速度。如果原先就已經架設 Cacti 的管理者,不妨一併安裝 Weathermap,利用此方便的工具讓自己的工作更輕鬆。
Weathermap 能自訂的部分相當多,本文只是拋磚引玉引領各位讀者進行簡單的操作,讀者若有興趣的話,不妨自行鑽研,相信必定能挖掘出 Weathermap 更多的功能。
轉載自《網管人》、《不及格網管》
訂閱:
文章 (Atom)