ubuntu 12.04 配置vsftpd 服務,添加虛擬用戶,ssl加密

1.對於12.04的vsftpd 有一些bug,推薦安裝版本vsftpd_2.3.5-1ubuntu2ppa1_amd64.deb
apt-get install python-software-properties
add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpdnode

2.配置虛擬用戶,安裝db5.1-util(對應系統版本便可)
apt-get -y install db5.1-utilpython

3.開始具體配置
cd /etc/
/bin/cp -rf vsftpd.conf vsftpd.conf.backup
配置文件以下:
#常規配置
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
dirmessage_enable=YES
chown_uploads=NO
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_port=21
listen_ipv6=NO
pam_service_name=vsftpd
chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
virtual_use_local_privs=NO
#存放用戶配置文件目錄,不存在請建立
user_config_dir=/etc/vsftpd/vconfig/
pam_service_name=vsftpd.pamlinux

chroot_local_user=YES
allow_writeable_chroot=YES
#被動模式
pasv_enable=YES
pasv_min_port=61100
pasv_max_port=61200
#加密配置
ssl_enable=YES
allow_anon_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
force_anon_data_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
rsa_cert_file=/etc/vsftpd/vconfig/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vconfig/vsftpd.key
#日誌輸出
syslog_enable=NO
log_ftp_protocol=NO
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_std_format=NO
xferlog_file=/var/log/xferlog
dual_log_enable=YESubuntu

對於裏面的配置選項,請自行搜索具體含義ui

4.配置虛擬用戶
cd /etc/vsftpd
touch user.txt,文件內容以下:
abc------(用戶)
abcdxxx ------(密碼)
若是繼續添加用戶,日後添加便可.2行做爲一個用戶輸出
運行以下命令,產生用戶數據db文件
/usr/bin/db5.1_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/user.db
user.txt文件和user.db文件請放在一塊兒.生成user.db文件後,改變權限
chmod 600 user.db
對於配置新加的用戶,也須要在 /etc/vsftpd/vconfig/ 文件夾下產生同名用戶文件.要否則產生的用戶不生效.
須要從新運行一下
/usr/bin/db5.1_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/user.db
而後重啓vsftpd 服務加密

5.配置虛擬用戶目錄
mkdir -p /etc/vsftpd/vconfig/
touch abc
local_root=/data/abc/ -------abc ftp用戶目錄
anon_umask=022 -------文件權限爲644
anonymous_enable=no -------不容許匿名登陸
#後面的配置選項主要對ftp上傳,下載,創建目錄,瀏覽文件,刪除,移動等權限,值爲yes/no.請參考下面的具體內容.經過靈活調整下面選項,便可完成對用戶只上傳,下載,移動/刪除等權限.對於具體的含義,請本身搜索
download_enable=yes -------容許下載
anon_upload_enable=yes --------容許上傳
anon_mkdir_write_enable=yes -------容許創建文件夾
anon_world_readable_only=no --------容許瀏覽文件
anon_other_write_enable=yes --------移動,刪除,更名等權限日誌

6.修改vsftp的pam驗證配置
建立一個vsftpd.pam文件,此文件對應配置文件裏面的pam_service_name選項
對於64位系統,vsftpd.pam內容以下(tab分割)
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/loginorm


7,配置vsftpd ssl加密
運行openssl 命令便可,產生的文件對應配置裏面的rsa_cert_file,rsa_private_key_file選項
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vconfig/vsftpd.key -out /etc/vsftpd/vconfig/vsftpd.pem ip


8.配置日誌文件
產生vsftpd.log和xferlog文件
touch /var/log/vsftpd.log
touch /var/log/xferlogssl

同時修改文件權限,讓vsftpd用戶可寫

9.啓動vsftpd服務
service vsftpd start

10.經過flashfxp 客戶端鏈接採用tls進行加密.鏈接類型請選擇FTP 使用公開SSL(驗證TLS)便可.其餘客戶端請自行搜索使用

相關文章
相關標籤/搜索