2013年6月14日 星期五

Linux vsftp

FTP 功能簡介
不同等級的使用者身份:user, guest, anonymous(1)實體帳號,real user;(2)訪客, guest;(3)匿名登入者, anonymous,
命令記錄與登錄檔記錄:FTP 可以利用系統的 syslogd 來進行資料的紀錄, 而記錄的資料包括了使用者曾經下達過的命令與使用者傳輸資料(傳輸時間、檔案大小等等)的紀錄呢! 所以你可以很輕鬆的在 /var/log/ 裡面找到各項登錄資訊喔!
限制使用者活動的目錄: (change root, 簡稱 chroot):為 了避免使用者在你的 Linux 系統當中隨意逛大街 (意指離開使用者自己的家目錄而進入到 Linux 系統的其他目錄去), 所以將使用者的工作範圍『侷限』在使用者的家目錄底下,嗯!實在是個不錯的好主意!FTP 可以限制使用者僅能在自己的家目錄當中活動喔!如此一來,由於使用者無法離開自己的家目錄,而且登入 FTP 後,顯示的『根目錄』就是自己家目錄的內容,這種環境稱之為 change root ,簡稱 chroot ,改變根目錄的意思啦!
這 有什麼好處呢?當一個惡意的使用者以 FTP 登入你的系統當中,如果沒有 chroot 的環境下,他可以到 /etc, /usr/local, /home 等其他重要目錄底下去察看檔案資料,尤其是很重要的 /etc/ 底下的設定檔,如 /etc/passwd 等等。如果你沒有做好一些檔案權限的管理與保護,那他就有辦法取得系統的某些重要資訊, 用來『入侵』你的系統呢!所以在 chroot 的環境下,當然就比較安全一些咯!
圖 21.1-1、FTP 伺服器的主動式連線示意圖

2013年5月23日 星期四

提問聲明


聲明

許多公開或私有專案在他們的使用協助/說明網頁中連結了本指南,這麼做很好,我們也鼓勵大家都這麼做。但如果你是負責管理這個專案網頁的人,請在超連結附近的顯著位置上註明:
本指南不提供此專案的實際支援服務!
我們已經深刻領教到少了上述聲明所帶來的痛苦。因為少了這點聲明,我們不停地被一些白痴糾纏。這些白痴認為既然我們發布了這本指南,那麼我們就有責任解決世上所有的技術問題。
如果你是因為需要某專案相關的協助而正在閱讀這本指南,並且最後失望地離開,因為發現從本指南作者們身上得不到專案相關的協助,那麼你就是我們所說的那些白痴之一。
別問我們問題,我們不會理睬的。我們在這本指南中,會教你如何更有效地與那些真正懂得你遇到的問題的人群溝通,並從他們那裡取得幫助。
我們99%不是那些能直接解決你目前問題的人。除非你非常地確定本指南的作者之一剛好是你所遇到的問題領域的專家,否則請不要打擾我們,這樣大家都會開心一點。

2013年5月22日 星期三

FileZilla Server


FileZilla Server
首先,我們可以將「FileZilla Server」FTP伺服器的程式看成兩部份,第一部份是FTP的Service服務,他是提供其他電腦透過FTP通訊協定連線進來存取檔案用的網路服務,這部份的功能可以讓他隨著電腦自動開機啟動。而伺服器啟動後我們並不會看到什麼視窗或圖示,它會在Windows系統的背景執行,只有在檢視「工作管理員」時,才可以看得到。
另外一步部份是「FileZilla Server Interface」伺服器管理介面,這個管理介面是管理FTP伺服器、新增或移除FTP帳戶時才會用到。只要安裝時設定好FileZilla Server的Service與組態、帳戶之後,其他時候可以不用開啟伺服器管理介面,FTP也可以正常運作。(因為FTP伺服器會在安裝好之後,開機自動執行)

大概知道有這兩個東西之後,下面的安裝過程就會比較清楚一點。後面會有個步驟問我們是否要開機自動啟動FTP Service或是否要開機自動啟動Server Interface,講的就是這兩個東西。

Linux Firwall Iptables


Firwall Seting Iptables
載入模組
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc

清除規則
iptables -t filter -F
iptables -t nat -F
iptables -t filter -X
iptables -t nat -X
選項
F:Delete all rules in  chain or all chains
X:Delete a user-defined chain
Z:Zero counters in chain or all chains

設定政策
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Eclipse - JAVA 開發軟體


Eclipse
Eclipse是著名的跨平台的自由整合式開發環境(IDE)。最初主要用來Java語言開發,目前亦有人透過外掛程式使其作為C++、Python、PHP等其他語言的開發工具。Eclipse的本身只是一個框架平台,但是眾多外掛程式的支援,使得Eclipse擁有較佳的靈活性。許多軟體開發商以Eclipse為框架開發自己的IDE。

歷史
Eclipse最初是由IBM公司開發的替代商業軟體Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社群,現在它由非營利軟體供應商聯盟Eclipse基金會(Eclipse Foundation)管理。2003年,Eclipse 3.0選擇OSGi服務平台規範為執行時架構。2007年6月,穩定版3.3發行;2008年6月發行代號為Ganymede的3.4版;2009年6月發行代號為Galileo的3.5版;2010年6月發行代號為Helios的3.6版。

架構
Eclipse的基礎是富客戶機平台(即RCP)。RCP包括下列元件:
核心平台(啟動Eclipse,執行外掛程式)
OSGi(標準集束框架)
SWT(可移植構件工具包)
JFace(檔案緩衝,文字處理,文字編輯器)
Eclipse工作台(即Workbench,包含檢視(views)、編輯器(editors)、視角(perspectives)、和精靈(wizards))
Eclipse採用的技術是IBM公司開發的(SWT),這是一種基於Java的窗口元件,類似Java本身提供的AWT和Swing窗口元件;不過IBM聲稱SWT比其他Java窗口元件更有效率。Eclipse的使用者介面還使用了GUI中間層JFace,從而簡化了基於SWT的應用程式的構建。
Eclipse的外掛程式機制是輕型軟體元件化架構。在富客戶機平台上,Eclipse使用外掛程式來提供所有的附加功能,例如支援Java以外的其他語言。已有的分離的外掛程式已經能夠支援C/C++(CDT)、PHP、Perl、Ruby,Python、telnet和資料庫開發。外掛程式架構能夠支援將任意的擴充功能加入到現有環境中,例如配置管理,而決不僅僅限於支援各種程式語言。
Eclipse的設計思想是:一切皆外掛程式。Eclipse核心很小,其它所有功能都以外掛程式的形式附加於Eclipse核心之上。Eclipse基本核心包括:圖形API(SWT/Jface),Java開發環境外掛程式(JDT),外掛程式開發環境(PDE)等。

2013年5月21日 星期二

Linux 指令 -tcpdum


Linux 指令


tcpdump
簡易使用法: (為了抓到隱藏在 Code 裡的語法, 直接看port有傳什麼資料進來)
sudo tcpdump -nnnX -s 1500 port 3306
sudo tcpdump -aXXX port 3306 | grep denied
-s : 抓比較長的 data 做一筆記錄

tcpdump採用命令行方式,它的命令格式為:

tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 檔案名 ] [ -i 網路介面 ] [ -r 檔案名] [ -s snaplen ] [ -T 類型 ] [ -w 檔案名 ] [運算式 ]
1. tcpdump的選項介紹
-a 將網路位址和廣播地址轉變成名字;
-d 將匹配資訊包的代碼以人們能夠理解的彙編格式給出;
-dd 將匹配資訊包的代碼以c語言程式段的格式給出;
-ddd 將匹配資訊包的代碼以十進位的形式給出;
-e 在輸出行列印出資料連結層的頭部資訊;
-f 將外部的Internet位址以數位的形式列印出來;
-l 使標準輸出變為緩衝行形式;
-n 不把網路位址轉換成名字;
-t 在輸出的每一行不列印時間戳;
-v 輸出一個稍微詳細的資訊,例如在ip包中可以包括ttl和服務類型的資訊;
-vv 輸出詳細的報文資訊;
-c 在收到指定的包的數目後,tcpdump就會停止;
-F 從指定的文件中讀取運算式,忽略其他的運算式;
-i 指定監聽的網路介面;
-r 從指定的檔中讀取包(這些包一般通過-w選項產生);
-w 直接將包寫入檔中,並不分析和列印出來;
-T 將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調用)和snmp(簡單網路管理協定;)

Couchbase Install


Couchbase
NoSQL其實有一個比較完整的網站: http://nosql-database.org/
官網: http://www.couchbase.com/

簡易的安裝
Server的穩定
簡易的UI(相當重要)
利用Javascript 和 JSON格式 和 Map&Reduce 來達到很多MySql的語法功能
簡易的sharding 和 replication,這點大概是很多企業都很需要的
支援command指令(CLI)
Couchbase source download page: http://www.couchbase.com/download

Install
Download:Enterprise通常是穩定版,實驗版都會在Community,像之前2.0還沒出來時,Community會是v2.0-beta,而Enterprise是v1.8穩定版,另外一個差異是License,Enterprise是Apache License,Community則是有限制

安裝其實很容易,Rat Hat系列
#rpm -ivh couchbase-server-enterprise_x86_2.0.0.rpm
Please note that you have to update your firewall configuration to allow connections to the following ports: 11211112101120943698091 and from 21100 to 21299
也就是記得要把一些port開啟,不然會無法運作,這些port涵蓋了couchbase server跟memcache還有erlang server所需要使用的port。

2013年5月20日 星期一

Batsh Script


Batsh Script

一.簡單批處理內部命令簡介  
1.Echo 命令
打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo 命令將顯示當前回顯設置。
語法 echo [{on|off}] [message]
Sample:@echo off / echo hello world
在實際應用中我們會把這條命令和重定向符號(也稱為管道符號,一般用> >> ^)
2.@ 命令
表示不顯示@後面的命令,在入侵過程中(例如使用批處理來格式化敵人的硬盤)自然不能讓對方看到你使用的命令啦。
Sample:@echo off
@echo Now initializing the program,please wait a minite...
@format X: /q/u/autoset (format 這個命令是不可以使用/y這個參數的,可喜的是微軟留了個autoset這個參數給我們,效果和/y是一樣的。)
3.Goto 命令
指定跳轉到標簽,找到標簽後,程序將處理從下一行開始的命令。
語法:goto label (label是參數,指定所要轉向的批處理程序中的行。)
Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果這裡的if、%1、%2你不明白的話,先跳過去,後面會有詳細的解釋。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
標簽的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標簽,goto命令就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣你別人看起來才會理解你的意圖啊。

BI Pentaho 介紹


Pentaho介紹

Pentaho是世界上領先的開放原始碼商業智慧套件Pentaho BI提供了全面的報表、 OLAP分析、儀表板、資料整合、資料探勘和商業智慧平台等相關套件, 在開放原始碼的商業智慧領域中居於領先。 Pentaho的商用開放原始碼的商業模式免去了軟體授權的費用,透過年度訂閱方式提供支援、服務與產品更新等服務。 近幾年Pentaho已成為商用開放原始碼BI的先驅, 產品模組已經被下載超過300萬次,客戶涵蓋小型企業到全球2000大。



榮譽與獎項
Pentaho近年來表現突出,屢受獎項肯定:
  • Red Herring 100 Award
  • InfoWorld Bossie Award 2010
  • Ventana Research Leadership Award 2010 for StoneGate Senior Care
  • CRN Emerging Technology Vendor 2010
  • Five Stars in CRN's 2011 Partner Programs Guide
  • JBoss Innovation Award 2008
  • 更多獎項請參考

ESXi 備份VM 使用Export OVF


備份VM
使用Export OVF(Open Virtual Machine Format) template
作法:備份
Power Off VM
File > Export > Export OVF template 在vSphere Client


輸入基本資料,存放地方。

2013年5月19日 星期日

Apache Tomcat-Connectors


Apache Tomcat-Connectors
JDK 安裝
# yum -y install httpd-devel java-1.6.0-openjdk java-1.6.0-openjdk-devel
設定環境變數
#vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.6.0
export PATH=#PATH:#JAVA_HOME/bin
export CLASSPATH=.:#JAVA_HOME/lib/tools.jar:#JAVA_HOME/lib/dt.jar
#. /etc/profile
#echo #JAVA_HOME

Apache modules(tomcat-connectors) JDK
安裝解壓縮tomcat-connectors
#tar –zxf tomcat-connectors-1.2.32-src.tar.gz
#cd tomcat-connectors-1.2.32-src.tar.gz/native
#./configure --with-java-home=/usr/lib/jvm/java-1.6.0 --with-apxs=/usr/sbin/apxs
#make
#cd apache-2.0
#sudo cp mod_jk.so /etc/httpd/modules/
#sudo cp httpd.conf backup_httpd.conf       //備份httpd.conf
#sudo vi /etc/httpd/conf/httpd.conf

Apache


Apache
安裝 Apache
#yum -y install httpd
設置 Apache 隨系統自動啟動
# chkconfig httpd on
設定自動啟動
# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
啟動 Apache 服務
# /etc/rc.d/init.d/httpd start
開啟防火牆
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save

RAID 介紹 實作Dell R710 RAID


RAID 介紹
RAID 0
假設有a b硬碟都為20G
RAID 0 的結果為 在系統內看到一顆硬碟容量為 20+20=40G
RAID 0 可以將二個硬碟容量加總,資料寫入時是一部分寫入第一顆硬碟,一部份寫入第二顆硬碟,優點是寫入跟讀取速度增加,但缺點是沒有容錯功能.一旦其中一顆硬碟損壞,將造成資料的損壞.
RAID 1
RAID 1 的結果為 在系統內看到一顆硬碟容量為 20+20=20G (Mirror鏡射)
RAID 1 雖然也是將a b硬碟組合成一顆硬碟,但是它是將b硬碟作成a硬碟的鏡射碟.也就是說資料在寫入a硬碟時同時也寫入了一份複本在b硬碟,優點是資料在存取時同時有一份是備分檔,缺點是會浪費一顆硬碟,因為二顆硬碟是存放著相同的資料。
RAID 5
RAID 5 的組成一定是3顆以上的硬碟,其容量的計算是(n-1)顆
假設有a b c 三顆硬碟是20G
組成 RAID 5 之後容量是 20+20+20=40G
RAID 5 結合了 RAID 0 跟 RAID 1,它將硬碟的容量加總了,但是又保留了一顆的容量在作檔案的容錯,在寫入資料時會透過其演算法去寫入三顆硬碟之中,假設C硬碟掛掉了,只要將一顆新的 20G取代 C 硬碟,RAID 5 的容錯機制會由A B 二顆硬碟中留下的資料來還原 C 硬碟的資料,但前提是壞一顆硬碟,如果同時壞二顆,那資料亦是全毁.
RAID 0、1、5 優缺點
RAID 0 可以將硬碟容量加總,增加讀取速度,但是沒有容錯功能.
RAID 1 可以將資料鏡射一份,但是讀取速度沒有增加.而且要浪費一顆硬碟.
RAID 5 可以將硬碟容量加總,亦可以增加讀取速度,也有容錯功能.而且多顆組合起來只會浪費一顆硬碟.不像RAID 1每二顆硬碟會浪費一顆.
由於RAID 5 只容許同時有一顆硬碟損壞.就有了RAID 0+1 或 RAID 1+0
這是更安全的作法.但相對的也更浪費硬碟.

ESXi4.0 Install


ESXi 安裝
放入光碟(ESXi 4.0 ) https://my.vmware.com/web/vmware/evalcenter?p=free-esxi5&lp=default
設定光碟開機
1.光碟選單,點選安裝
2.進入安裝畫面

2013年5月16日 星期四

ESXi 5.0 Install

安裝ESXi 5.0 說明

1.放入光碟片ESXi 5.0 安裝光碟片
https://my.vmware.com/web/vmware/evalcenter?p=free-esxi5&lp=default
2.BIOS設定光碟開機,開啟虛擬化Virtualzation選項
3.進入安裝畫面,開始安裝

Facebook App

測試的一整天感覺很神奇,也很.....不爽!
要怎麼開始開發 Facebook App
  1. 註冊成為 Facebook Developer 的一員。
  2. 創立新的 Facebook App。
  3. Setup Facebook App。
  4. 選擇你要開發的 Facebook App 種類。
  5. 去 Canvas URL 查看 Facebook App 吧!


充實的一天


今天使用moqups畫圖,很好用值得推廌。https://moqups.com/#!/
在Coursera 選了一門課Technicity 。https://class.coursera.org/techcity-001/class/index
加入了Linkedin 。http://www.linkedin.com/nhome/?nuxComplete=true&trk=nux-full-home

Linux 小技巧


釋放與清除 Linux記憶體中的Cache Memory
在Linux Kernel 2.6.16後對於Linux的VM(Virtual Memory)進行了調整,因此會在top等指令發現雖然process所使用的記憶體不多,但是透過free來觀察卻發現只剩下一點點的剩餘記憶體。
但是關閉一些程式卻發現total的free memory並沒有被釋放,造成系統剩餘記憶體總是不夠的感覺,而全部processes佔用的記憶體好像也沒有實際上看到的那麼多,這其實是cache占用了memory中的空間。而且但是根據小州老師(kenduest,是我的啟蒙恩師呢~泣~)表示,雖然記憶體剩餘空間看起來沒有被釋放,但是process實際需要使用時kernel仍會自動從memory釋放cache給process使用,所以使用者不必擔心。
要強制手動釋放或清除Linux中的Cache Memory可以使用下面的指令
$echo 3 > /proc/sys/vm/drop_caches
3 是指釋放pagecache、dentries與inodes,也就是釋放所有的cache,其他也可以下:
#釋放pagecache
$echo 1 > /proc/sys/vm/drop_caches
#釋放dentries與inodes
$echo 2 > /proc/sys/vm/drop_caches

Linux 異常檢查

Linux 異常檢查
1.檢查歷史指令
你可以通過在shell提示符下敲入history來訪問你的歷史記錄文件。假如你發現自己正在使用history命令,而它並沒有出現在之前使用過的命令列表裡,你要看一看你的~/.bash_history 文件。假如這個文件是空的,就執行一個ls -l ~/.bash_history命令。在你執行了上述的命令後你將看到類似以下的輸出:
-rw------- 1 jd jd 13829 Oct 10 17:06 /home/jd/.bash_history
又或者,你可能會看到類似以下的輸出:

Linux 指令運用


Linux 效能監控
指令運用總表:
NO Command Description
1 ps process的運作的指令  ex:#ps -ef |grep java ;#ps aux
2 top process的運作的指令2  ex:#top
3 pstree process的運作的指令3  ex:#pstree -A
4 pmap process使用記憶體的狀況 ex:#pmap
5 uptime , w 顯示系統的附載狀況 ex:#uptime

Linux 服務介紹


服務名稱 建議 說明   
acpid        啟用 新版的電源管理模組,通常建議開啟,不過,某些筆記型電腦可能不支援此項服務,那就得關閉   
atd 啟用 在管理單一預約命令執行的服務,應該要啟動的   
crond 啟用 在管理工作排程的重要服務,請務必要啟動啊!   
haldaemon 啟用 作系統硬體變更偵測的服務,與 USB 設備關係很大   
iptables 啟用 Linux 內建的防火牆軟體,這個也可以啟動啦!   
network 啟用 這個重要了吧?要網路就要有他啊!
postfix 啟用 系統內部郵件傳遞服務,不要隨便關閉他!   
rsyslog 啟用 系統的登錄檔記錄,很重要的,務必啟動啊!   
sshd 啟用 這是系統預設會啟動的,可以讓你在遠端以文字型態的終端機登入喔!   
xinetd 啟用 就是那個 super daemon 嘛!所以也要啟動啦!
kudzu 啟動 使系統每次開機會都自動執行硬體偵測
readahead_early 啟動 使系統再啟動時預先將相關檔案讀到記憶體內來加快啟動速度    

資訊安全Fail2ban


資安 Fail2ban 安裝
# vim /etc/yum.repos.d/CentOS-Base.repo最下面加入以下
[atrpms]
name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1
# yum install fail2ban
問題:
warning: rpmts_HdrFromFdno: Header V4 DSA signature: NOKEY, key ID 66534c2b
GPG key retrieval failed: [Errno 14] HTTP Error 404: Not Found
解決把上面的gpgcheck=1 改成0

Linux Filrewall Script


#!/bin/bash
#This Scripte is Firewall
#Version 1.0 at 2012-07-27
#writer pellok.he
#
####################################
#Setting Port and IP
IN_TCP_PORTALLOWED="ssh"
IN_UDP_PORTALLOWED="domain"
IN_ICMP_ALLOWED="0 3 8 11"
OUT_TCP_PORTALLOWED="ssh"
OUT_UDP_PORTALLOWED=""
OUT_ICMP_ALLOWED="0 3 8 11"

安裝 CentOS5.7 Base Server


安裝 CentOS5.7 Base Server
1.使用光碟開機
在光碟安裝選單,選擇linux text 安裝
2.分割partition
/ 35G
/swap 4096
/var 100G
/tmp 5G
/home 355G
3.選擇安裝套件