« 2006/12, Vol. 131 PChome Magazine | 首頁 | 在 Fedora Core 6 Linux 安裝 Freemind »
2006年12月12日
ProFTPD 虛擬帳號
目的: 在 ProFTPD 建立虛擬帳號, 並限制只能以虛擬帳號登入 FTP Server
環境: ProFTPD-1.3.0a @ Fedora Core 6 Linux
取得並安裝 ProFTPD
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.bz2
tar jxf proftpd-1.3.0a.tar.bz2
cd proftpd-1.3.0a
./configure && make && make install
取得 ftpasswd
cd /usr/local/bin
wget http://www.castaglia.org/proftpd/contrib/ftpasswd
chmod +x ftpasswd
編輯 proftpd.conf
vi /usr/local/etc/proftpd.conf
AuthUserFile /usr/local/etc/ftpd.passwd AuthGroupFile /usr/local/etc/ftpd.group AuthOrder mod_auth_file.c RequireValidShell off DefaultRoot ~
建置虛擬帳戶
#建立 FTP 資料夾
mkdir /var/ftp
chmod 1777 /var/ftp#建立 ProFTPD 虛擬帳號
cd /usr/local/etc
ftpasswd --passwd --name=david --uid=1001 --gid=1001 --home=/var/ftp/ --shell=/bin/false
ftpasswd --group --name=david --gid=1001 --member=david
啟動 proftpd
proftpd (預設載入 /usr/local/etc/proftpd.conf)
登入測試
ftp localhost (只能以虛擬帳號登入)
參考資料:
相關網頁:
Posted by Jamyy at 2006年12月12日 09:09
Trackback Pings
TrackBack URL for this entry:
http://cha.homeip.net/cgi-bin/mt/mt-tb.cgi/246
Comments
請問在 proftpd 中可否設定系統使用者的子目錄供非系統使用者來 upload/download file & dir ,但該系統使用者在不用 login 系統的情況下,可將這些file 作刪除的動作呢?
謝謝
Posted by: 楊文章 at 2007年03月10日 21:00
若想利用虛擬帳號存取系統使用者路徑, 最簡單的方式就是在 ftpasswd 建立虛擬帳號的時候, 將他的 uid 或(與) gid 指定成與某系統使用者一樣的 uid / gid 即可.
亦可利用 ext2/ext3 POSIX ACL 權限控制, 將虛擬帳號的權限寫入指定路徑中. 相關用法請 man setfacl 或 http://www.lccnet.com.tw/commercial/e-paper/0501/teacher-lecture-second0501.html
ex. setfacl -m u:1001:rwx ~someone (賦予 uid 1001 "rwx" 的權限於 /home/someone)
此外, 要讓虛擬帳號與本機實體帳號的使用者都能登入 ftp
需設定 proftpd.conf:
AuthOrder mod_auth_file.c mod_auth_pam.c*
若 AuthPAM off 則上述 mod_auth_pam.c* 應改為 mod_auth_unix.c
Posted by: Jamyy at 2007年03月12日 12:06