本节索引:


  • 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_vsftpd


三、基于虚拟用户的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用户可以登录,并可以浏览、下载文件,也可以上传.

   匿名用户或其他系统用户将不能登录.