preload
一月 30

昨天終於搞定公司的ftp server, 可以使用virtual user, 並且每個virtual user 都擁有自己的root directory, 且不能切換到其他目錄.

環境: Fedora Core 5

步驟(1)
新建一個user account: ftpuser

步驟(2)
將default 的vsftpd.conf 修改如下:
anonymous_enable=NO
anon_upload_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES

步驟(3)
建立virtual user account & passowrd file,
ex: logins.txt
user_abc
password_1
user_def
password_2

步驟(4)
將logins.txt 轉換成資料庫
db_load -T -t hash -f ./logins.txt /etc/vsftpd_login.db

步驟(5)
修改/etc/pam.d/vsfptd 檔如下
# For virtual user setting
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

步驟(6)
重新啟動vsfptd

以上步驟, 即可使用virtual user

為了讓virtual user 各自有自己的根目錄, 需要增加如下動作

步驟(7)
在/etc/vsftpd.conf 加入下列一行
user_config_dir=/etc/vsftpd/vsftpd_user_conf
並建立一個叫做vsftpd_user_conf 的目錄在/etc/vsfptd中

步驟(8)
在/etc/vsfptd/vsfptd_user/conf 目錄中建立每個virtual user 的個別設定檔
user_abc 及 user_def
而user_abc 的內容為:
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
local_root=/home/ftpuser/root_abc

而user_def 的內容為:
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
local_root=/home/ftpuser/root_def

步驟(9)
在/home/ftpuser中建立 root_abc, root_def 的目錄

步驟(10)
重新啟動vsfptd, 大功告成

Comments are closed.