[FreeBSD] 小技巧:防止 user 查詢觀看其他 user Processes

看了這篇:FreeBSD Prevent Users From Seeing Information About Processes Owned by Other Users,裡面寫到如何防止其他使用者登入 ssh 觀看到其他使用者的一些動作,平常一般使用者可以利用 ps aux 指令關看到所有 Processes 的狀況,包含了系統所有使用者,這篇就是介紹如何關閉使用者查看其他不屬於自己的 Processes,作法有兩種,底下分別介紹,效果是一樣的: 1. 寫入 /etc/sysctl.conf

echo 'security.bsd.see_other_uids=0' >> /etc/sysctl.conf
echo 'security.bsd.see_other_gids=0' >> /etc/sysctl.conf
2. 直接在 command line 執行
sysctl security.bsd.see_other_uids=0
sysctl security.bsd.see_other_gids=0
兩種效果是一樣的,當然可以查詢目前的系統狀況
sysctl -a | grep security

[Django] Web Framework- Django -初階學習心得

django-logo-negative_1236046419 (by appleboy46) 首先感謝 酷學園團隊、Who’s Who 工作坊、自由軟體鑄造場 舉辦的一系列南部的 python、Django 活動,今天的活動主題是:Web Framework- Django -初階 (講者:陳建玎),簡介了為什麼需要 MVC 架構寫法,MVC 的重要性,以及 Django 的優點,還蠻豐富的課程,其實重點都是在如何使用 MVC 加速開發 Web 網站,以及在 Team Work 裡的重要性,目前在開發 Web Framework 都是利用 PHP 一套 Frame Work:Codeigniter,在台灣已經有中文網站:CodeIgniter 繁體中文,自己接手了 CodeIgniter 計畫翻譯中文文件,還有開發 forum 中文討論區,還在規劃中,自己也才摸 CodeIgniter 一個多禮拜,底下有一張上課的投影片,介紹三種 Frame Work 的 Model、Views、Controller django (by appleboy46)

[Read More]

利用 freebsd-update 升級 FreeBSD security patch 安全性

在玩 FreeBSD 系統一定會常常需要升級 security 的 patch,之前寫過一篇手動升級 FreeBSD security patch:FreeBSD 的 security patch 跟 如何 upgrade,那篇寫的內容也很容易瞭解,那現在又有另一種升級方式,就是利用 FreeBSD 內建指令 freebsd-update,這是可以 fetch 或者是 install 和 rollback binary 升級系統,不過這指令只能用在 Release Engineering 的系統上面,例如 FreeBSD 7.1-RELEASE and FreeBSD 7.1-RC1,不可以使用在 FreeBSD 6.2-STABLE 或者是 FreeBSD 7.0-CURRENT 版本上面,那在 DK大神 blog 上面有寫一篇可以升級 PRERELEASE 系統:用 freebsd-update 將 FreeBSD 7.1-PRERELEASE 升級到 7.1-RELEASE,這方法可以騙過 freebsd-update 指令,不過我想本身要對 FreeBSD 很熟阿,不然會遇到很多地雷阿。 基本 OPTIONS 如下:

-b basedir   -- 指定系統掛載根目錄 預設值:/
                (default: /)
-d workdir   -- 檔案暫存的地方
                (default: /var/db/freebsd-update/)
-f conffile  -- 讀取基本設定檔
                (default: /etc/freebsd-update.conf)
-k KEY       -- Trust an RSA key with SHA256 hash of KEY
-r release   -- 指定 Release 版本 (e.g., 6.2-RELEASE)
-s server    -- 指定抓取哪一台伺服器
                (default: update.FreeBSD.org)
-t address   -- 搭配 corn 指定 email,當執行完畢,寄信通知使用者
                (default: root)
[Read More]

Linux or FreeBSD screen 指令介紹使用

在管理 Linux 或者是 FreeBSD 系統常常用到的指令:screen,一方面如果 pietty 當掉,那您執行的指令升級系統都會繼續在 background 跑,那有時候可能跑的時間很長,這時候當然就要靠 screen 來達成這個目的,當然您也可以用 nohup 的方式來做到此目的,底下就是一些 screen 我常用的一些指令,還蠻方便的 首先如何開啟新的 screen 呢,當然就直接打指令 screen 就可以了,在 FreeBSD 底下開始沒有支援 screen 指令,利用 FreeBSD ports 來安裝

cd /usr/ports/sysutils/screen; make install clean
[Read More]

mydumper 取代 mysqldump 效能

這是我在 gslin 大神 那邊看到的一篇文章:mydumper (取代 mysqldump 的工具),mysqldumper 有平行跟效能方面壓力測試,效果跟時間都壓縮的比 mysqldump 還要快,簡單管理 output 資料,它把 database 每個資料表分別 dump 資料出來寫到檔案,方便觀看檔案資料,不過沒有支援 dump table 的 definitions,所以加速提取 data 寫入到檔案,gslin 大神也把它包進 FreeBSD ports 裡面,在 database/mydumper 這裡。 我想會把這個機制套用到我之前寫的 shell script 裡面:[Linux&FreeBSD] 備份系統資料,MySQL 資料庫,PgSQL 資料庫的自動化 bash shell script 程式,那 mydumper 用法也相當簡單,mydumper –help 就寫的很清楚了,跟 mysqldump 用法差沒多少:

-h, --host               連接到 hostname 伺服器
-u, --user               使用者名稱
-p, --password           使用者密碼
-P, --port               MySQL TCP/IP port 
-B, --database           Database 名稱
-t, --threads            Number of parallel threads
-o, --outputdir          輸出的檔案要存放在哪, 預設 ./export-*/
-c, --compress           gzip 壓縮每個檔案,多花一點時間
-x, --regex              Regular expression for 'db.table' matching
[Read More]

Google App Engine SDK:python 基本教學安裝

Powered by Google App Engine Google App Engine 利用 python 程式語言所組成,可以利用 Google 背後的技術來開發您的 Web application,後端就交給 Google 的強大雲端運算能力,前端就可以利用 SDK 來開發您的 Web 介面,後端儲存可以用 Google Bigtable 及 GFS 的儲存方式,那現在就不多說了,花了一點時間把環境建立起來,遇到一些問題,現在來筆記一下,目前我在 FreeBSD 7.1 Release 來當作 Google App Engine 開發平台,在安裝方面有遇到一些小問題,底下來看看: 在 FreeBSD 安裝方法還蠻簡單的,首先把 python 環境弄好

# cd /usr/ports/lang/python25/
# make install clean
底下這張圖就是安裝好的結果:

GAE (by appleboy46)

[Read More]

如何在 console 端使用 Tail (View) Multiple Files on UNIX / Linux Console

這在管理 UNIX base 系統方面最重要的地方,不管是維護 Linux or FreeBSD 主機,都要學習如何觀看 log 檔案,系統出問題,不管是 apache 不能啟動,或者是 MySQL 發生錯誤,基本上都可以觀察 /var/log 底下的檔案來達到解決問題,平常在使用 Linux 預設可以用 tail 這個指令,使用方法如下:

tail -F /var/log/message
tail -f /var/log/message
-f 如果在 message 晚上 rotate 檔案的時候,就會停止
-F 持續偵測是否有新檔案,會繼續維持下去
[Read More]

[FreeBSD] 利用 portmaster 升級 PHP 5.26 -> 5.28

之前在 大神 那邊看到一篇 升級 PHP 5.2.8 的一些小細節,就來把我的機器升級一下,發現 php 5.2.7 之後已經把 pcre extension 納入在裡面,參考 /usr/ports/UPDATING 裡面的  20081211 這個項目,可以利用 portupgrade 或者是 portmaster 來升級,之前都是利用 ruby 寫的 portupgrade 來升級系統或者是更新安全性,現在利用 portmaster 這一套也是不錯用,portmaster 是用 sh 寫出來的,在 gslin 大神這一篇:portupgrade、portmaster、portconf 說到速度方面比 portupgrade 還要好,這我沒有實際測試過,自己在實際用了一下,還蠻方便的。 安裝 portmaster 跟 portconf 搭配:

cd /usr/ports/ports-mgmt/portconf
make install clean
cd /usr/ports/ports-mgmt/portmaster
make install clean
[Read More]

[FreeBSD] Perl 5.8.9 on bsnmpd SNMP 統計流量分析 mrtg

在 FreeBSD 7.1 Release 要裝起 SNMP 搭配 MRTG 已經非常容易,請參考之前寫的教學:[FreeBSD] SNMP 統計流量分析 mrtg ,可是這次因為安裝新系統,使用 Perl 5.8.9 在 MRTG 相依性好像安裝的不是很好,所以造成底下錯誤訊息:

Can’t locate SNMP_util.pm in @INC (@INC contains: /usr/local/bin/../lib/mrtg2 / usr/local/bin /usr/local/lib/perl5/5.8. 9/BSDPAN /usr/local/lib/perl5/site_perl /5.8.9/mach /usr/local/lib/perl5/site_p erl/5.8.9 /usr/local/lib/perl5/site_per l /usr/local/lib/perl5/5.8.9/mach /usr/ local/lib/perl5/5.8.9 .) at /usr/local/ bin/cfgmaker line 105

[Read More]

Linux Find 指令用法教學

筆記一下自己常用的 find 指令,適用於 FreeBSD 或者是 Linux 各大 distribution,系統管理這個指令就相當重要了,在搭配 grep,sed,awk,perl 可以快速找到自己要的檔案。我自己本身很常用到 grep,find,awk 這些撰寫 shell script。 底下先來介紹一下 find: 1. 找出 . 底下的 php 檔案

1
find . -name "*.php"

找出 . 底下非 php 副檔名檔案

1
find . -not -name "*.php"
[Read More]