用Linux構建高效FTP服務器(4)

 5.生成一個測試文件。先切換至virtual_user用戶身份,然後在/ftpsite目錄下創建一個文件:

#su -virtual_user

$vi /ftpsite/mytest

This is a test file.

$su - root

6.編輯/etc/vsftpd/vsftpd.conf文件,使其整個文件內容如下所示(去掉了註釋內容):

anonymous_enable=NO

local_enable=YES

local_umask=022

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

one_process_model=NO

chroot_local_user=YES

ftpd_banner=Welcom to my FTP server.

anon_world_readable_only=NO

guest_enable=YES

guest_username=virtual_user

pam_service_name=vsftp.vu

上面代碼中,guest_enable=YES表示啓用虛擬用戶;guest_username=virtual則是將虛擬用戶映射爲本地用戶,這樣虛擬用戶登錄後才能進入本地用戶virtual的目錄/ftpsite;pam_service_name=vsftp.vu指定PAM的配置文件爲vsftp.vu。

7.重新啓動VSFTP

#service vsftpd restart

8.以虛擬用戶gou(Linux中並無該賬號)進行測試:

# ftp 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1)。

220 Welcom to my FTP server.

Name (127.0.0.1:root): gou

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

測試下載服務器目錄中的一個文件mytest:

ftp》 get mytest

local: mytest remote: mytest

227 Entering Passive Mode (127,0,0,1,159,19)

150 Opening BINARY mode data connection for mytest (21 bytes)。

226 File send OK.

21 bytes received in 0.00038 secs (54 Kbytes/sec)

測試上傳本機目錄中的文件vsftpd.conf:

ftp》 !ls

account.db chroot_list k mytest userconf vsftpd.conf

ftp》 put vsftpd.conf

local: vsftpd.conf remote: vsftpd.conf

227 Entering Passive Mode (127,0,0,1,117,203)

150 Ok to send data.

226 File receive OK.

4229 bytes sent in 0.00195 secs (2.1e+03 Kbytes/sec)

可以看到,使用沒有系統賬號的虛擬用戶可以成功完成上傳、下載的工作。但該FTP虛擬服務器只允許虛擬用戶登錄,其它系統用戶無法登錄,如系統用戶user1不是虛擬用戶,則不能登錄該虛擬服務器。

# ftp 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1)。

220 Welcom to my FTP server.

Name (127.0.0.1:root): user1

331 Please specify the password.

Password:

530 Login incorrect.

Login failed.

在虛擬FTP服務器中,也可以對各個用戶的權限進行設置。方法是在/etc/vsftpd.conf文件中添加如下一行:

user_config_dir=用戶配置文件目錄

然後在用戶配置文件目錄下創建相應的用戶配置文件,比如爲上述名爲gou的用戶創建一個配置文件(假設配置文件目錄爲/etc/user_config_dir):

#vi /etc/user_config_dir/gou

write_enable=NO

anono_upload_enable=NO

重啓FTP服務器,這時再使用賬號gou來登錄,就已經沒有上傳的權限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章