[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 工作坊自由軟體鑄造場 舉辦的一系列南部的 pythonDjango 活動,今天的活動主題是: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 BigtableGFS 的儲存方式,那現在就不多說了,花了一點時間把環境建立起來,遇到一些問題,現在來筆記一下,目前我在 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 還要好,這我沒有實際測試過,自己在實際用了一下,還蠻方便的。 安裝 portmasterportconf 搭配:

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]