Archive for category Linux 專區

[Linux] How to turn on Recycle bin Function on Samba 3.0

唔知大家有冇試過係SAMBA SERVER 刪除了一些FILE之後又想把它找回來呢~~以往好多SERVER的設定都是沒有這功能給用家,好多時都只可以從BACKUP SET找回來~~~原來SAMBA係可以加一個和WINDOWS入面的RECYCLE BIN相似的功能~~~~~

在 /etc/samba/smb.conf 中
需要Recyclebin 功能的 Share Definitions 中設定以下:

# 載入 資源回收筒 模組
vfs object = recycle
# 在將檔案移入 資源回收筒 時,要建立相對應的目錄結構
recycle: keeptree = yes
# 資源回收筒 之相對路徑。後面的 %u 則為使用者帳號。
recycle: repository = Recycle/%u
# 不進行 資源回收 的檔案類型
recycle: exclude = .tmp|.temp|.o|.obj
# 若有相同檔案名稱時,則加以編號識別
recycle: versions = yes

有幾點要注意:

  • recycle: repository 只能指定相對路徑。無法指定絕對路徑。
  • 要注意 recycle: repository 目錄之權限,要讓使用者能夠寫入才行。
  • 而在檔案移入 recycle: repository 目錄後,其權限則為 600。在安全性上就比較不用擔心了。
  • 檔案在移入 recycle: repository 目錄的過程中,若發生任何問題,
    如:無法寫入目錄等等,Samba 會寫入一筆錯誤資訊至 Log 中,但還是會把檔案給刪除掉。這是必須要注意到的地方。
  • 可想而知的,Samba Server 的硬碟將很快就會塞滿了一些過時無用的檔案。要記得常常清理呀!

但是假設,今天有兩個 user 都會去使用到該recyclebin的功能,
而這兩個人都要能對 Recycle 這個目錄內進行讀寫的動作
(建立子目錄、建立檔案、刪除回收桶內的檔案…etc.)
通常我們會讓這兩個 user 都屬於某一相同的 group,然後把 Recycle 這個目錄的 group 改為該 group
並且權限為775

然後問題就來了,這兩個 user 變成都可以刪除或變更 Recycle 這個目錄。
萬一今天被某一個 user 刪掉了,然後下一個 user 刪除別的檔案時,
Recycle 功能被啟動,又建立了一個新的 Recycle 目錄,但是建立時,
group 和另外一個 user 不同的話…(Debian 裡面,新建立一個 user 時,他的 group name 就是 username)
下次別的人要刪檔案就失去回收桶功能了,因為寫不進去。

好,要解決這個問題,也許就開始改各個 user 的 group,然後定義一堆目錄的權限
當然還有 samba 的設定,每個人寫入時,檔案會變成什麼 group…等等動作。
我是想到就煩啦!

於是退一步想想,我要的 Recyclebin 權限,不就跟系統上根目錄的 /tmp 一樣嗎?

每個人都可以去 /tmp 裡面建立目錄、檔案,也可以刪除自己的檔案以及目錄
但是不能存取別人的!

看了 /tmp 的權限,是 "rwxrwxrwt",拜訪 google 之後,知道是 "1777"

所以我把 Recyclebin 的 owner 和 group 都改成了 root,但是權限是 "rwxrwxrwt"
問題就迎刃而解了。

每個人在刪除檔案時,Recycle 裡面就會有一個自己username的目錄,裡面就是剛剛刪掉的檔案。

然後都可以個別操作自己的檔案,但是誰也不能刪掉這個 Recycle 目錄。

No Comments

安裝 AWStats 流量統計

AWStats 是一套功能強大的流量統計工具,分析的項目十分清楚詳細,而它是透過讀取 Apache 所產生的紀錄檔造出統計數據,所以不需要在網站加上特定的 javascript 或 html。以下是安裝及配置 AWStats 的步驟: (我的安裝環境是 Red Hat Enterprise Linux 4)

1. 下載 AWStats,目前最新的穩定版是 6.5。

2. 執行以下指令安裝:

tar zxvf awstats-6.5.tar.gz
mv awstats-6.5 /usr/local/awstats
chown -R apache.apache /usr/local/awstats
chmod +x /usr/local/awstats/wwwroot/cgi-bin/*
chmod +x /usr/local/awstats/tools/*
mkdir /etc/awstats
mkdir /var/lib/awstats

3. AWStats 已經安裝完成,接著就要執行 AWStats 內建的設定程式進行設定:

cd /usr/local/awstats/tools/
./awstats_configure.pl

首先程式會問你建立報表的主機名稱,輸入網站 hostname 即可,然後便是儲存設定檔的目錄,輸入 /etc/awstats,然後只要做幾下確認及重新啟動 Apache 就完成了。

假如你的 hostname 是 mydomain.com,那便打開 /etc/awstats/awstats.www.mydomain.com.conf,裡面有一行是:

LogFile="/var/log/httpd/mylog.log"

將上面那行的 /var/log/httpd/mylog.log 改成你用 Apache 產生的紀錄檔。

4. 安裝及設定都完成了,現在要讓 AWStats 讀取 Apache 紀錄檔的數據了,執行以下指令:

/usr/local/awstats/tools/awstats_updateall.pl now

你可以將以下指令放到 crontab 裡面,讓系統自動執行更新程序。
而 AWStats 的報表位置是 http://網域名稱/awstats/awstats.pl

No Comments