之前架FTP時是選用proftpd,不過不知道為什麼,每當我連線時總是要等一下,令人感覺很差。這次剛好有機會來架一個FTP,考慮過後決定選用vsftpd。本來想用的pure-ftpd因為太多有的沒有的問題只好放棄。
這次要架FTP的要求是建立一個只能上傳的FTP。簡單的要求,卻也弄了很久才弄出來..
先安裝vsftpd
aptitude install vsftpd
加上ftp使用者及其群組
groupadd asp2010
useradd -g asp2010 -m asp2010
修改vsftpd.conf
anonymous_enable=NO
#禁止匿名使用者
local_enable=YES
#可用實體帳號登入
write_enable=YES
#可寫入
local_umask=022
#寫入檔案時的遮罩
chroot_local_user=YES
#只能在家目錄內活動
local_max_rate=800000
#最大下載速度800MB/S
max_clients=20
#最多20個人
cmds_denied=DELE,RNFR,RNTO,RETR,MKD
#這是最關鍵的一行!
#禁止使用者使用的命令
#DELE - delete a remote file
#RNFR - rename from
#RNTO - rename to
#RETR - retrieve a remote file
#MKD - make a remote directory
以上,就可以建立一個只能上傳,不能下載、更名、刪除和建立子資料夾的FTP!
最後還有一個小小的問題要處理。既然這裡使用的是實體帳號,那是否就表示它也可以用SSH登入呢?
答案是可以的,所以當然要想辦法去避免它。在ssh裡有一項設定是AllowUsers,不過我怎麼設就是沒有效。所以就採用了另一個變通的方法,我限制只能從我這個IP登入到那台裡,這樣子一來,即便另一個帳號可以使用SSH登入,它也會因為IP的關係就被擋掉。
設定的方法是在/etc/hosts.allow中加入sshd:111.222.333.444
在/etc/hosts.deny中加入sshd:all
如此便完成了!
目前使用起來是非常順,僅有一個小小的問題,就是我無法看到vsftp的狀態,不過這倒是還好,以後有機會再研究看看。
不過看來vsftpd會成為我日後架設ftp的第一考量了!
2010年2月23日 星期二
2010年2月8日 星期一
Windows 7 PowerShell
PowerShell是Windows 7中提供的新工具。它自帶的編輯器與許多類LINIX的指令都讓寫小程式非常的方便。這次剛好需要寫一個小小的批次檔,就順便用它來試試看。
因為我電腦中的java是用免安裝檔的,因此它的路徑也不存在系統的路徑之中,每次要執行java的程式都得手動執行,不過我是也滿習慣的。jdownloader是個最近常用的小程式,不過當每次想開它時都得要打很多指令,雖然不會花太多的時間,不過每次這樣也不是辦法。因此我的需求也出來了,就是寫一個小小批次檔,可以讓我點兩下就可以幫我直接開好程式。
但在使ps1檔案執行時,Windows會跟你說你的程式不能執行,因為它沒有簽證。
待會會修改到登錄檔,所以要先將PowerShell用系統管理者身份開啟。
輸入get-executionpolicy可以看到目前對執行程式的策略,預設為Restricted。
輸入set-executionpolicy remotesigned就可以將策略改變成為remotesigned,這樣子就可以不用簽證也可以直接執行了。
在存好ps1檔之後,按右鍵,按"用PowerShell執行",就可以了!
以上內容整理自"get-help about_signing"
因為我電腦中的java是用免安裝檔的,因此它的路徑也不存在系統的路徑之中,每次要執行java的程式都得手動執行,不過我是也滿習慣的。jdownloader是個最近常用的小程式,不過當每次想開它時都得要打很多指令,雖然不會花太多的時間,不過每次這樣也不是辦法。因此我的需求也出來了,就是寫一個小小批次檔,可以讓我點兩下就可以幫我直接開好程式。
但在使ps1檔案執行時,Windows會跟你說你的程式不能執行,因為它沒有簽證。
待會會修改到登錄檔,所以要先將PowerShell用系統管理者身份開啟。
輸入get-executionpolicy可以看到目前對執行程式的策略,預設為Restricted。
輸入set-executionpolicy remotesigned就可以將策略改變成為remotesigned,這樣子就可以不用簽證也可以直接執行了。
在存好ps1檔之後,按右鍵,按"用PowerShell執行",就可以了!
以上內容整理自"get-help about_signing"
訂閱:
文章 (Atom)