Red_Hat_Enterprise_Linux_5服务器配置之Vsftpd配置

一、安装和启动
1.可用以下命令查询是否已安装:
 程序代码
#rpm -qa|grep vsftpd
vsftpd-2.0.5-10.e15

如果出现以上结果,表明已安装。如果未安装,可在Red Hat Enterprise Linux 5安装光盘中找到安装包,使用命令:
 程序代码
#rpm -ivh vsftp-2.0.5-10.e15.i386.rpm


2.启动和关闭
启动命令为:
 程序代码
#service vsftpd start

停止命令为:
 程序代码
#service vsftpd stop

重启命令为:
 程序代码
#service vsftpd restart

查询运行状态:
 程序代码
#service vsftpd status
vsftpd (pid 3571) 正在进行……


二、Vsftpd服务器配置
Vsftpd的主配置文件有三个:
/etc/vsftpd/vsftpd.conf
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
修改前建议使用“cp”命令备份这三个文件,修改完成后需要重启vsftpd服务才能使设置生效。

(一)匿名用户访问配置
1.启动后FTP服务器就可以登陆了
  匿名用户在text模式下,要用用户名ftp,密码也是ftp,来进行登陆;如果是用FTP工具来匿名登陆的话,用户名和密码都为:anonymous。默认情况下匿名用户可以访问和下载,但不能进行上传、删除、新建目录、执行文件等操作!
  本地用户可以登陆,并可以离开自家目录至有权访问的其他目录,并在权限允许的情况下进行上传和下载,写在文件/etc/vsftpd.ftpusers中的本地用户禁止登录。

2.允许匿名用户上传文件
需要修改/etc/vsftpd/vsftpd.conf文件,把以下两项前的“#”去掉。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
重启vsftpd服务。

3.仅允许匿名用户访问
指需要限制本地账号访问,修改/etc/vsftpd/vsftpd.conf文件,把以下两项前的“#”去掉。
local_enable=YES
write_enable=YES
重启vsftpd服务。

4.设置欢迎信息
修改/etc/vsftpd/vsftpd.conf文件
ftpd_banner=*****
*****即为设置的欢迎信息。
重启vsftpd服务。

5.设置最大传输率
修改/etc/vsftpd/vsftpd.conf文件
设置匿名用户的最大传输速率为20Kbps,应添加以下语句:
anon_max_rate=20000
设置本地账号的最大传输速率为1Mbps,应添加以下语句:
local_max_rate=1000000

6.设置服务器最大并发数和用户最大线程数
修改/etc/vsftpd/vsftpd.conf文件
设置服务器最大并发数为99,应添加以下语句:
max_clients=99
设置用户同一时段的最大连接数,应添加以下语句:
max_per_ip=5

7.禁止某些IP段的主机匿名访问服务器
修改vsftpd.conf文件,确认有如下语句:
tcp_wrappers=YES
修改/etc/hosts.allow文件,增加1行命令:
vsftpd:192.168.1.1:DENY
表示限制IP为192.168.1.1的主机访问FTP服务器。
重启vsftpd服务。

8.用ASCII方法传送数据
修改/etc/vsftpd/vsftpd.conf文件,
ascii_upload_enable=YES
ascii_download_enable=YES
重启vsftpd服务。

9.设置数据传输中断间隔时间
修改/etc/vsftpd/vsftpd.conf文件,
idle_session_timeout=600
表明空闲会话时间为600秒。
data_connection_timeout=120
表明数据连接超时时间为120秒。
重启vsftpd服务。

(二)本地用户访问配置
1.使用用户列表进行访问控制
修改/etc/vsftpd/vsftpd.conf文件,按以下语句设置:
userlist_enable=NO
表明vsftpd.ftpuser文件中的用户将被禁止访问FTP服务器。
userlist_enable=YES
userlist_deny=NO
表明仅允许vsftpd.user_list文件中的用户访问FTP服务器。
userlist_enable=YES
userlist_deny=YES
表明vsftpd.ftpuser和vsftpd.user_list文件中的用户都不能访问FTP服务器。

2.限制用户目录的访问权限
修改/etc/vsftpd/vsftpd.conf文件
chroot_local_user=YES
表明用户登录后不能访问自己目录以外的其它目录或文件。

3.修改默认端口
FTP服务器默认的端口是21,如需要修改端口,请修改/etc/vsftpd/vsftpd.conf文件,以下语句:
listen_port=4444
表明FTP服务器的端口号为4444,应该尽量大于4000。

 

 

 

 


第二种
--------------------------------------

 

 


结合网上教程,实践了一下Vsftpd的安装,首先下载vsftpd的rpm包。

比如放在/tmp/soft下,首先确认没有安装过vsftp,

#rpm -qa|grep vsftp

如果没有输出则表示没有安装,可以接下来操作。

#cd /tmp/soft
#rpm -ivh vsftpd-2.0.5.i386.rpm
安装完后可以用service vsftpd restart看能不能启动服务,能正常启动再接下来配置。

vsftpd的文件结构:

/usr/sbin/local/vsftpd (tar方式) /usr/sbin/vsftpd (rpm方式) --vsftpd主程序
/etc/rc.d/init.d/vsftpd --启动脚本 (rpm方式才有)
/etc/vsftpd.conf (tar方式) /etc/vsftpd/vsftpd.conf (rpm方式) --主配置文件
/etc/pam.d/vsftpd (rpm安装方式) --PAM认证文件(注:tar方式需手动复制)
/etc/vsftpd.ftpusers (rpm安装方式才有) --禁止使用vsftpd用户列表
/etc/vsftpd.user_list (rpm方式才有) --禁止或允许使用vsftpd用户列表
/var/ftp --匿名用户主目录
/var/ftp/pub --匿名用户下载目录

 

首先要创建一个用户,因为安全起见,将设置不允许本地用户登录,建立虚拟用户来操作FTP,但是在验证时需要一个系统用户的身份来读取数据。比如新建的用户为 vsftpdguest,

#useradd vsftpdguest

用户建立后,虚拟用户登录的主目录就是 /home/vsftpdguest

配置/etc/vsftpd/vsftpd.conf
virtual_use_local_privs=YES
local_enable=YES
guest_username=vsftpdguest
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
pam_service_name=ftp.vu

目前为止/etc/vsftpd.chroot_list和ftp.vu尚没有建立,需要手工建。
vsftpd.chroot_list是限制用户在本目录的用户名列表,ftp.vu的内容如下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

因为数据文件vsftpd_login尚没有,所以要建立。

新建文件/tmp/logins.txt,内容格式如下:
username1
password1
username2
password2
...

接下来生成db数据文件:
#db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd_login.db

注:这一步需要安装db4_utils-xxxxx.rpm,安装包可以在光盘里找到,否则db_load命令不能使用

虚拟用户如果需要个人配置,在配置文件中加入:

user_config_dir=/etc/vsftpd/vsftpd_user_conf

建立/etc/vsftpd/vsfptd_user_conf目录,在目录下建立与虚拟用户名同名的文件。在文件中加入配置如:

local_root=/home/xxxx
设置虚拟用户的根目录为/home/xxxx,这个目录的权限要设置为vsftpdguest

基本上设置完成,如果

cannot change directory:/home/***

ftp服务器连接失败,错误提示:

500 OOPS: cannot change directory:/home/*******

500 OOPS: child died

解决方法:

在终端输入命令:

setsebool ftpd_disable_trans 1

service vsftpd restart

就OK了!

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值