[Linux] 利用 awk 或 perl command line 找出 passwd id 大於1000 的帳號

其實還蠻簡單的,只是想紀錄一下,利用 awk 或者是 perl command line 找出非系統產生的帳號 perl:

#
# perl 寫法
#
perl -an -F: -e 'if ($F[2] >= 1000) { print $F[0],"\n"; }' passwd
awk:
#
# awk 寫法
#
awk -F ":" '($3 >= 1000) { printf $1 "\n"}' /etc/passwd

[FreeBSD]快速利用 cvsup-mirror 架設 CVSup Server (mirror site)

今天看到一篇:[教學]用 cvsup-mirror 架設 CVSup Server (mirror site),自己就來架設一下,其實還蠻容易的,因為 FreeBSD Ports 都已經包好,所以安裝起來也不困難,利用 cvsup-mirror 這個軟體就可以架設完成了,那如何在台灣找尋一台最佳連線速度的 mirror 伺服器呢,利用 fastest_cvsup 這個 ports 軟體,就可以了,當 FreeBSD 剛安裝完成,就是要先設定 cvsup mirror 的站台,我自己都是用 cvsup.tw.freebsd.org,這伺服器是交大資工架設,domain 同 freebsd.csie.nctu.edu.tw,我們利用 fastest_cvsup 可以另外找尋更好的伺服器。

#
# ports 安裝
#
cd /usr/ports/sysutils/fastest_cvsup
make install clean
說明如何使用指令:
#
# 找尋台灣區最佳的伺服器 
#
fastest_cvsup -c tw
#
# 找尋最上層 cvsup 伺服器,如 cvsup.freebsd.org
#
fastest_cvsup -c tld
[Read More]

[FreeBSD筆記] 快速搜尋 ports 軟體 psearch

FreeBSD 內建的搜尋 ports 指令搜尋速度有點慢,加上搜尋出來還蠻難找的,所以推薦一個搜尋 ports 軟體:psearch,支援 regular expression 安裝方式:

#
# ports 安裝
#
cd /usr/ports/ports-mgmt/psearch
make install clean
rehash;
使用方法:
options:
  -V, --version        顯示版本資訊
  -h, --help           顯示 help 資訊
  -c CATEGORY, --category=CATEGORY
                       快速搜尋方式,可以指定資料夾,例如:www,chinese
  -f FILE, --file=FILE 指定 INDEX 的檔案 Default: "/usr/ports/INDEX-7"
  -l, --long           顯示詳細的 ports 資訊介紹
  -m, --maintainer     取代 ports 的簡短訊息,顯示維護者資訊
                       也可以搜尋 ports 的維護者所有維護的 ports
  -n, --name           顯示標準的訊息,基本的版本訊息
  -o, --or             搜尋任何符合 PATTERN 的 ports 資訊
  -s, --search_long    顯示 ports 詳細的資訊,速度較慢
  -v INVERSE_PATTERN, --inverse=INVERSE_PATTERN
                       反向搜尋 ports 名稱
[Read More]

[MySQL] 實做 MySQL Master-Master Replication 同步

今天無聊實做了 MySQL 資料庫同步化,那可以先看看 MySQL Master Slave Replication,中文網站可以上 google 查詢或者是看看這一篇:MySQL 設定 Replication (Master – Slave),基本上設定還蠻容易的,如果會 Master 同步到 Slave 的話,那 MySQL Master-Master 只是在用相同的方法在做一遍,如果不懂 MMM 的可以先參考這一篇:MySQL Master-Master Replication Manager(1) – 簡介,這篇寫的很清楚,今天看了文章,我實做起來,遇到一些問題,其實還蠻奇怪的,所以底下就來紀錄一下步驟,順便也說明一下。 實做兩台 Ubuntu 機器: db1:192.168.1.1 db2:192.168.1.2 先設定 db1: 目前我都是在 Ubuntu 7.10 底下實做的,那基本上只要有支援 MySQL 的 Linux 或者 FreeBSD 機器都可以實做這個方法: 步驟一:先修改 my.cnf 這個檔案: FreeBSD 的話在:/var/db/mysql/my.cnf Ubuntu:/etc/mysql/my.cnf 有的版本是在 /etc/my.cnf 所以不太一定,請依照自己的作業系統 修改:

#
# bind-address 請 mark 起來,因為我們必須讓 MySQL Listen 各個不同的 IP Address
#bind-address           = 127.0.0.1
#
# server id 請記得每台機器都設定不同喔
#
server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log
[Read More]

[FreeBSD]利用 DenyHosts 軟體擋掉暴力破解 ssh 的使用者

不管是架設好 Linux 跟 FreeBSD 通常都會有國外的 hacker 來 try 機器的 SSH 帳號密碼,我想這是很正常的,網路上也提供很多方法來分析 Log 檔,FreeBSD:/var/log/auth.log,我可以分析檔案,然後再利用 firewall like ipfw or pf 的方式來達到,或者是利用寫到 /etc/hosts.deny 來達到 Block 的功能,網路上有很多工具可以用,例如 DenyHostssshguard 或者是 sshit,可以參考我之前寫的一篇利用 sshit 來達到阻擋 ssh 使用者,然而今天來介紹一下 DenyHosts 再 FreeBSD 底下如何設定,還蠻方便的。 首先利用 ports 安裝,DenyHosts 是利用 python 的程式語言寫出來的:

Port:   denyhosts-2.6_2
Path:   /usr/ports/security/denyhosts
Info:   Script to thwart ssh attacks
Maint:  janos.mohacsi@bsd.hu
B-deps: python25-2.5.2_3
R-deps: python25-2.5.2_3
WWW:    http://denyhosts.sourceforge.net/

/* 利用 ports 安裝 */
cd /usr/ports/security/denyhosts; make install clean
[Read More]

[Linux&FreeBSD] 解决 umount時出現的 “Device is busy”

在 Linux 系列 OS 安裝好之後,都會有支援一個 fuser 這一個指令,那有時候在 linux 底下 mount 隨身碟,或者是其他硬體的時候,有時候沒辦法讓您移除,會出現:『Device is busy』,那這個訊息是在保護確保你的資料有儲存到該裝置,有時候如果沒有正確移除,會造成資料遺失,或者是資料不完整,那基本上裝上任何一套 Linux 作業系統,都會有支援了,所以不必在另外安裝,那 FreeBSD 那就要在安裝 /usr/ports/sysutils/fuser 這一個 tool 這樣才會有喔 安裝:『FreeBSD』

cd /usr/ports/sysutils/fuser
make install clean
那使用方法: for FreeBSD
# fuser -m /var/log/maillog
/var/log/maillog:   513wa
# 加上 -u 參數
# fuser -mu /var/log/maillog
/var/log/maillog:   513wa(root)

2008.11.28 update 另外解法: 可以使用 fstat -f /home 來觀看有哪些 process access /home

[Read More]

[FreeBSD]安裝 apache2 (worker) + PHP5.2.6 + mod_fastcgi + php5-fcgi

今天把 FreeBSD web 改成了 apache worker 其實之前就已經這麼做了,只是今天加上 mod_fastcgi 我是參考 DarkKiller 大神 apache22 (worker) + mod_fastcgi + php5-fcgi,之前就把 Server 換成了 php5-fcgi,只不過我是搭配 Lighttpd,效能方面還不錯,可以參考這篇:[FreeBSD] Lighttpd + PHP + mod_proxy + FastCGI,那因為用 lighttpd 的外掛模組真的太少,不像 apache 支援這麼多 module,重點是還缺少了 .htaccess 這個功能,所以大大降低大家使用 lighttpd,近期內會把全部 server 換成 apache2 搭配 mod_fastcgi,那底下寫一下作法了:

[Read More]

[中正大學]碩博士論文系統 Ethesys2.1 系統建置

之前幫學校轉移校內碩博士論文系統,學校是用 Ethesys 這一套之前是中山大學在負責維護,可是到2006年8月以後,中山大學團隊不再提供eThesys的諮詢服務,改由 漢珍數位圖書公司 負責維護eThesys 2.1,仍將提供免費原始碼下載和安裝諮詢,詳細情形請看:eThesys 2.1 原始碼取得方式,不過話說漢珍數位圖書公司,我有寄信過去,有沒得到回應,真的有點 XXXX,他也不提供1.x版升級到2.1版的 update 說明,然後在安裝過程,因為用到 MySQL,裡面還有一些問題要自己 debug,所以沒有一些基礎,可能會花比較多時間下去裝,我是用 FreeBSD 系統 7.0 Release 版本,寫了說明書給學校,不過有些比較細節的步驟好像沒有補上,因為忘記了 XD,提供下載連結:Ethesys2.1 系統建置說明書,大家可以看看。

[Read More]

FreeBSD 的 security patch 跟 如何 upgrade

剛剛看到 chinsan’s Blog 裡面提到 關於 FreeBSD 的 security patch 是怎麼處理的?,這篇寫的非常不錯,所以順道把手上機器都全部處理了 upgrade 系統了,當然首先是要先習慣閱讀 /usr/src/UPDATING/usr/ports/UPDATING,當然這兩個其中一個是系統的安全性更新,一個是 ports tree 安全性更新。 裡面 chinsan 大大提到的 SA(Security Advisories)

http://www.freebsd.org/security/advisories.html 相關反應管道請參考 http://security.freebsd.org 這裡的 SA 其實也可以在 /usr/src/UPDATING 這裡面看到,但是網頁版似乎比較好,我提供解法,做起來也不會很困難。

[Read More]

[FreeBSD] Lighttpd + PHP + mod_proxy + FastCGI

最近一直在玩 Lighttpd 這一套 web 的 daemon,我覺得這一套還蠻好用的,不像 Apache 掛載這麼多 module 結果吃還蠻大的資源,加上 Apache 預設跑 MPM prefork 所以如果大型網站大概就會掛掉,線上人數一堆,就會快撐不住了,所以用 MPM worker 或者是 MPM Event,然後 Lighttpd 本身還支援 mod_rewrite 的功能,可以參考我之前寫的 [FreeBSD]Lighttpd + php5 + 解決 wordpress Permalinks 問題,不過最近遇到一個很奇怪問題,那就是 Lighttpd 會自己掛點,但是我看 message 跟 error log 底下是:

2008-07-10 09:08:31: (server.c.1258) NOTE: a request for /wp-includes/js/scriptaculous/effects.js?ver=1.8.0 timed out after writing 32991 bytes. We waited 360 seconds. If this a problem increase server.max-write-idle

[Read More]