1. 程式人生 > >文件共享服務之vsftpd

文件共享服務之vsftpd

vsftpd ssl ftp 虛擬用戶

本節索引:


  • Centos 6 中把vsftpd配置為非獨立服務

  • 實現基於SSL的FTPS

  • 基於虛擬用戶的vsftpd



一、Centos 6 中把vsftpd配置為非獨立服務


1. 配置FTP服務以非獨立服務方運行

/etc/vsftpd/vsftpd.conf中設置:listen=NO

2. yum安裝xinetd

3. 編輯配置文件

cd /etc/xinetd.d
cp rsync vsftpd  #隨便找個模板
vim vsftpd       #以下為標準配置信息,如下將配置文件適當修改
service ftp
{
    flags = REUSE
    socket_type = stream
    wait = no
    user = root
    server = /usr/sbin/vsftpd
    log_on_failure += USERID
    disable = no
}

4. 啟動或重啟服務

service vsftpd stop
service start xinetd
ss -tnlp 可看到21端口打開由xinetd監聽


二、實現基於SSL的FTPS


1. 查看是否支持SSL

ldd `which vsftpd` |grep ssl #查看是否有libssl.so模塊

2. 創建自簽名證書

cd /etc/pki/tls/certs/
make vsftpd.pem #生成公鑰及私鑰
openssl x509 -in vsftpd.pem -noout –text #查看證書信息

3. 配置vsftpd服務支持SSL:

/etc/vsftpd/vsftpd.conf
ssl_enable=YES         #啟用SSL
allow_anon_ssl=NO      #匿名不支持SSL
force_local_logins_ssl=YES   #本地用戶登錄加密
force_local_data_ssl=YES     #本地用戶數據傳輸加密
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem

註意:復制過程中不能有空格不然會報錯!!

配置完後需重啟服務。

4. 用filezilla等工具測試

技術分享


三、基於虛擬用戶的vsftpd


1、 建立虛擬FTP用戶的帳號數據庫文件

建立虛擬用戶的賬戶名、密碼列表,奇數行為帳號名,偶數行為上一行中帳號的密碼。

vim /etc/vsftpd/vusers.list
wang
123
mage
456

將列表轉化為Berkeley DB格式的數據文件

db_load 轉換工具來自db4-utils-4.3.29-9.fc6.i386.rpm 軟件包

cd /etc/vsftpd/
db_load -T -t hash -f vusers.list vusers.db
chmod 600 vusers.*

2、創建FTP根目錄及虛擬用戶映射的系統用戶

mkdir /var/ftproot
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod 755 /var/ftproot

3、建立支持虛擬用戶的PAM認證文件

vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vusers #註意沒有db後綴
account required pam_userdb.so db=/etc/vsftpd/vusers

4、在vsftpd.conf文件中添加支持配置

vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu

5、設置SELinux

禁用SELinux 或者 
setsebool -P ftpd_full_access 1

6、為個別虛擬用戶建立獨立的配置文件

mdkir /etc/vsftpd/vusers.d/  #創建用戶配置文件存放的路徑
vim /etc/vsftpd/vsftpd.conf
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vusers.d/
cd /etc/vsftpd/vusers.d/
touch mage
vim wang
anon_upload_enable=YES
anon_mkdir_write_enable=YES

7、重載服務並測試

service vsftpd reload

分別用wang、mage用戶登錄FTP服務器進行下載、上傳測試:

mage用戶可以登錄,並可以瀏覽、下載文件,但無法上傳.

wang用戶可以登錄,並可以瀏覽、下載文件,也可以上傳.

匿名用戶或其他系統用戶將不能登錄.




本文出自 “linux運維” 博客,請務必保留此出處http://arm2012.blog.51cto.com/2418467/1972416

文件共享服務之vsftpd