2010年9月4日

vsftpd 建立程式上傳環境(應用1)

系統工程師與程式設計師配合上,盡量不會讓程式設計師登入系統,一旦讓程式設計師登入,往往整個系統會弄的亂七八糟,毫無章法,但又要提供一個適當的程式上傳環境,這幾天查了一下vsftpd的文件,發現可以利用他達到我的需求。

需求
1.檔案上傳之後,檔案擁有者與群組必須是 apache
2.檔案上傳之後,要能透過設定umask設定權限
3.要有本機帳號才能登入
4.登入後要有權限對檔案及目錄進行新增、刪除、修改、下載

1.設定vsftpd.conf
anonymous_enable=NO //不允許 anonymous 登入
local_enable=YES //允許本機帳號登入
write_enable=YES //允許登入者寫入
local_umask=027 //設定umask為027,也就是建立目錄時是750
guest_enable=YES //使用者登入後要轉為 guest 權限
guest_username=apache //guest為apache
anon_upload_enable=YES //允許 guest 上傳
anon_mkdir_write_enable=YES //允許 guest 新增、刪除、修改等權限
anon_other_write_enable=YES
virtual_use_local_privs=YES //設定guest使用local帳號的權限設定
chown_uploads=YES //開啟上傳檔案的 chown功能
chown_username=apache //檔案上傳後擁有者要改為apache
xferlog_enable=YES //開啟傳輸紀錄檔
tcp_wrappers=YES //開啟tcp_wrapper功能

2.設定apache家目錄
若網站目錄不在預設的/var/www下時
shell>% vi /etc/passwd
apache:x:48:48:Apache:/path/to/htdocs:/sbin/nologin

3.設定user_list拒絕不該登入的本機帳號
shell>% vi /etc/vsftpd/user_list
username1
username2
username3

4.啟動vsftpd
shell>% service vsftpd start

參考文獻
man vsftpd.conf

沒有留言:

張貼留言