Jquery中文網 www.prqmtc.live
Jquery中文網 >  服務器技術  >  文件服務器  >  正文 ubuntu Server 11.10 下vsftpd虛擬用戶配置

ubuntu Server 11.10 下vsftpd虛擬用戶配置

發布時間:2014-08-15   編輯:www.prqmtc.live
VSFTP是一個基于GPL發布的類Unix系統上使用的FTP服務器軟件,它的全稱是Very Secure FTP 從此名稱可以看出來,編制者的初衷是代碼的安全。安全性是編寫VSFTP的初衷,除了這與生俱來的安全特性以外,高速與高穩定性也是VSFTP的兩個重要特點。

首先,我們來認識下vsftp。
VSFTP是一個基于GPL發布的類Unix系統上使用的FTP服務器軟件,它的全稱是Very Secure FTP 從此名稱可以看出來,編制者的初衷是代碼的安全。安全性是編寫VSFTP的初衷,除了這與生俱來的安全特性以外,高速與高穩定性也是VSFTP的兩個重要特點。

速度方面:使用ASCII代碼的模式下載數據時,VSFTP的速度是Wu-FTP的兩倍,如果Linux主機使用2.4.*的內核,在千兆以太網上的下載速度可達86MB/S。

穩定方面:VSFTP就更加的出色,VSFTP在單機(非集群)上支持4000個以上的并發用戶同時連接,根據RedHat的Ftp服務器(ftp.redhat.com)的數據,VSFTP服務器可以支持15000個并發用戶

本文主要介紹vsftpd虛擬用戶模式配置方法,供大家學習參考。

安裝VSFTP:sudo apt-get install vsftpd
安裝DB軟件包:sudo apt-get install db-util

配置虛擬用戶(進入/etc/vsftpd下操作)
1. 建立虛擬用戶口令庫文件

復制代碼 代碼如下:
# vim vusers.list (第一行寫 用戶名,第二行寫 密碼,保存退出)
user1
user1pwd
user2
user2pwd

2. 生成vsftpd的認證文件

復制代碼 代碼如下:
# db_load -T -t hash -f vusers.list /etc/vsftpd/vsftpd_login.db (生成認證文件)
# chmod 600 /etc/vsftpd/vsftpd_login.db (賦權)

3. 建立虛擬用戶所需的PAM配置文件

復制代碼 代碼如下:
# vim /etc/pam.d/vsftpd (加入下面內容,其他全部注釋。)
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

4. 建立虛擬用戶要訪問的目錄并設置權限

復制代碼 代碼如下:
# useradd -d /home/ftp -s /sbin/nologin virtual
# chmod 777 /home/ftp/
在 vsftpd.conf 添加以下參數配置項:
guest_enable=YES
guest_username=virtual

5. 對不同虛擬用戶設置不同權限

復制代碼 代碼如下:
# mkdir /etc/vsftpd/vsftpd_user_conf
# vim /etc/vsftpd/vsftpd_user_conf/user1 (建立用戶單獨配置文件,文件名就是用戶名)
local_root=/home/ftp/user1 #這里的虛擬用戶目錄可以根據實際情況修改
write_enable=YES
virtual_use_local_privs=YES #虛擬用戶具有寫權限(上傳、下載、刪除、重命名)
在 vsftpd.conf 添加以下參數配置項:
user_config_dir=/etc/vsftpd/vsftpd_user_conf

6. 禁錮FTP用戶在宿主目錄
將需要禁錮的用戶名寫入“vsftpd.chroot_list”文件

復制代碼 代碼如下:
# vim /etc/vsftpd.chroot_list
user1
user2
在 vsftpd.conf 添加以下參數配置項:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

補充:ftp被動連接端口設置,FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了XXXX端口,你過來連接我”。于是服務器從20端口向客戶端的XXXX端口發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了XXXX端口,你過來連接我”。于是客戶端向服務器的XXXX端口發送連接請求,建立一條數據鏈路來傳送數據。
如果FTP客戶端軟件設置的是被動連接,那么VSFTP配置文件需要設置被動端口:
在 vsftpd.conf 添加以下參數配置項:

復制代碼 代碼如下:
pasv_min_port=3000
pasv_max_port=3010

如果開啟iptables防火墻,需要配置:

復制代碼 代碼如下:
iptables -A INPUT -p tcp -s 0/0 --dport 3000 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 3000:3010 -j ACCEPT

如果開始SELinux,需要解除selinux阻止:

復制代碼 代碼如下:
#setsebool -P ftpd_disable_trans 1
#service vsftpd restart

備注:virtual_use_local_privs參數

當virtual_use_local_privs=YES時,虛擬用戶和本地用戶有相同的權限;
當virtual_use_local_privs=NO時,虛擬用戶和匿名用戶有相同的權限,默認是NO。
 
當virtual_use_local_privs=YES,write_enable=YES時,虛擬用戶具有寫權限(上傳、下載、刪除、重命名)。
 
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES時,虛擬用戶不能瀏覽目錄,只能上傳文件,無其他權限。
 
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO時,虛擬用戶只能下載文件,無其他權限。
 
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES時,虛擬用戶只能上傳和下載文件,無其他權限。
 
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES時,虛擬用戶只能下載文件和創建文件夾,無其他權限。
 
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES時,虛擬用戶只能下載、刪除和重命名文件,無其他權限。

您可能感興趣的文章:
vsftpd下創建虛擬用戶的方法
CentOS6.2 x64 下 配置vsftpd虛擬用戶服務器
CentOS 5.3建立Vsftpd虛擬用戶
ubuntu Server 11.10 下vsftpd虛擬用戶配置
linux下添加vsftpd虛擬用戶的shell腳本
vsftp 虛擬用戶高級設置
vsftpd 安裝配置詳細教程
centos vsftpd 安裝配置詳解
Linux VSFTP 配置詳解
vsftpd+pam創建虛擬用戶登錄FTP服務器

[關閉]
一分赛车计划app 欢乐生肖开奖结果记录 手机买彩票app 如何利用平台佣金赚钱 自助取件柜能赚钱吗 黑龙江省福彩时时彩开奖结果 股票融资10万一天利息多少钱 上海11选5技巧稳赚 北京快8计划软件 2019年赚钱很难 快3计划软件下载 股票推荐每日一股(2019年9月4日) 2013捕鱼大亨辅助软件