码迷,mamicode.com
首页 > 其他好文 > 详细

配置FTP服务(二):vsftpd部署和优化

时间:2015-09-13 20:15:05      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:vsftpd


前面一篇文章介绍了pureftp部署和优化:http://1015489314.blog.51cto.com/8637744/1694166

下面我们接着来做CentOS自带的FTP软件vsftpd的部署和优化实验。


1、安装启动vsftpd

[root@tpp ~]# yum install -y vsftpd

[root@tpp ~]# /etc/init.d/vsftpd start

注:我们会发现启动失败,因为之前我们安装了pure-ftpd,被其占用了21端口,我们只要杀死所有的pure-ftpd进程就行,执行命令:killall pure-ftpd


2、建立账号

vsftpd默认可以支持使用系统账号登入的,客户端不止可以登入家目录,也可以登入其他的目录,这样是什么不安全,故我们也要和pure-ftpd一样建立关联系统用户的虚拟账户。

首先建立与虚拟账号相关联的系统账号:virftp

[root@tpp ~]# useradd virftp -s /sbin/nologin

接着建立存放虚拟账号密码的文件:

[root@tpp ~]# vim /etc/vsftpd/vsftpd_login      //写入如下内容

test1

123456

test2

abcdef

修改权限,只限于root用户:

[root@tpp ~]# chmod 600 /etc/vsftpd/vsftpd_login

vsftpd使用的密码不是明文,需要生成对应的库文件:

[root@tpp ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

最后建立与虚拟账号相关的目录

[root@tpp ~]# mkdir /etc/vsftpd/vsftpd_user_conf


3、创建与用户对应的配置文件

用户的配置文件是单独存在,每个用户都建立与账号同名的配置文件。

[root@tpp ~]# cd /etc/vsftpd/vsftpd_user_conf/

[root@tpp vsftpd_user_conf]# vim test1          //写入以下内容

local_root=/home/virftp/test1 

anonymous_enable=NO 

write_enable=YES 

local_umask=022 

anon_upload_enable=NO 

anon_mkdir_write_enable=NO 

idle_session_timeout=600 

data_connection_timeout=120 

max_clients=10 

max_per_ip=5 

local_max_rate=50000

注意:local_root 为该账号的家目录,anonymous_enable 用来限制是否允许匿名账号登陆,若为 NO 表示不允许匿名账号登陆,write_enable=YES 表示可写,local_umask 指定 umask 值,anon_upload_enable 是否允许匿名账号上传文件,anon_mkdir_write_enable 是否允许匿名账号可写。


接着创建test1用户的家目录 

[root@tpp vsftpd_user_conf]# mkdir /home/virftp/test1

[root@tpp vsftpd_user_conf]# chown -R virftp:virftp /home/virftp

[root@tpp vsftpd_user_conf]# vim /etc/pam.d/vsftpd        //在最开头添加两行 

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 

account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 

如下图:

技术分享

注意:我的是32位系统,所以库文件路径为/lib/security/pam_userdb.so,若你的系统为64,那你的库文件是在/lib64/security/pam_userdb.so。 


4、修改全局配置文件   

[root@tpp vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf    //修改下面几项

anonymous_enable=YES 改为 anonymous_enable=NO 

#anon_upload_enable=YES 改为 anon_upload_enable=NO 

#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO 

#chroot_local_user=YES 改为 chroot_local_user=YES 

在最后面增加:

guest_enable=YES 

guest_username=virftp 

virtual_use_local_privs=YES 

user_config_dir=/etc/vsftpd/vsftpd_user_conf 

最后启动 vsftpd 服务 

[root@tpp vsftpd_user_conf]# /etc/init.d/vsftpd start

为 vsftpd 启动 vsftpd:                 [确定]

注意:如果服务启动不了,注意每行后面不要有空格;还有就是很有可能21端口被其他服务占用。

[root@tpp vsftpd_user_conf]# netstat -lnp |grep ":21"

不管是pure-ftpd还是vsftpd占用着,都一律杀死,释放出21端口,然后再启动vsftpd服务。



5、测试

测试过程和前面pure-ftpd 的一样。另外,如果用户登录不了,请查看一下/var/log/secure 日志。 








本文出自 “M四月天” 博客,请务必保留此出处http://1015489314.blog.51cto.com/8637744/1694233

配置FTP服务(二):vsftpd部署和优化

标签:vsftpd

原文地址:http://1015489314.blog.51cto.com/8637744/1694233

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!