Linux下安装vsftpd

来源:互联网 发布:telnet端口开启 编辑:程序博客网 时间:2024/03/29 13:26

一、安装和启动
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是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
  vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
  目前在开源操作系统中常用的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等
  linux vsftpd 主要文件清单
  /etc/sbin/vsftpd:服务文件。redhat 9.0为/etc/rc.d/init.d/vsftpd
  /etc/vsftpd.conf:配置文件。redhat 9.0为/etc/vsftpd/vsftpd.conf
  /etc/vsftpd.ftpusers:不能用于ftp登录的用户。
  /var/ftp:默认的匿名用户(anonymous或ftp,无密码)登录的目录。
  /etc/vsftpd.conf文件配置:
  1、默认配置:
  anonymous_enable=YES #允许匿名用户访问
  local_enable=YES #允许本地用户访问
  write_enable=YES #具有写权限
  local_umask=022 #本地用户创建文件或目录的掩码
  connect_from_port_20=YES #开启20端口
  2、允许匿名用户具有写权限(上传/创建目录)
  在默认配置下添加以下内容:
  anon_upload_enable=YES
  anon_mkdir_write_enable=YES
  anon_world_readable_only=NO 允许匿名帐号写 另外还需具有所有权限的目录
  3、屏蔽本地所有用户浏览其他目录的权限(除了家目录,匿名用户本身只能访问家目录)
  在默认配置下添加以下内容:
  chroot_local_user=YES
  4、屏蔽部分本地用户浏览其他目录的权限
  在默认配置下添加以下内容:
  chroot_local_user=NO
  chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd.chroot_list
  另外再创建文件/etc/vsftpd.chroot_list,并添加需要屏蔽的用户。
  5、性能选项
  idle_session_timeout=600
  data_connection_timeout=120
  local_max_rate=50000 #本地用户的最高速率
  anon_max_rate=30000 #匿名用户的最高速率
  修改/etc/passwd文件的用户家目录可以改变用户登录的目录
  修改/etc/passwd文件的用户的登录shell为/sbin/nologin,则不能用于本地登录,可以用于ftp登录。
  /etc/xinetd.d/vsftpd文件的主要内容:(“=”前后有空格)
  only_from = 192.168.1.1|192.168.1.0/24 #只接收来至某ip或网段
  no_access = 192.168.3.2|192.168.3.0/24 #拒绝接收来至某ip或网段
  access_times = 8:00-17:00 #设置访问时间
  instances = 200 #设置最大连接数
  per_source = 5 #设置每个ip可有几个连接
  针对不同ftp使用者限制不同下载速度
  操作步骤
  1.安装vsftp,并启用
  2.编辑/etc/vsftpd/vsftpd.conf
  use_config_dir=/etc/vsftpd/userconf
  3.新增/etc/vsftpd/userconf
  4./etc/vsftpd/userconf下增加test1
  编辑test1
  test1 local_max_rate=25000 (下载速度单位为字节 B)
  5./etc/vsftpd/userconf下增加test2
  编辑test2
  test2 local_max_rate=30000
  6.service vsftpd restart
  vsftpd与Tcp_wrapper结合
  1.编辑/etc/vsftpd/vsftpd.conf
  tcp_wrapper=yes
  2.编辑/etc/hosts.deny
  vsftpd:192.168.0 10.0.0 192.168.1.3 :deny
  ALL:ALL:ALLOW
  3.效果 192.168.0段的和10.0.0网段 及192.168.1.3不能访问当前ftp服务器。其他地址的可以访问
  将vsftpd并入xinetd 配置方法
  1.编辑/etc/vsftpd/vsftpd.conf
  listen=no
  2.新增/etc/xinetd.d/vsftpd
  service vsftpd
  {
  disable=no
  socket_type=stream
  wait=no
  user=root
  service=/usr/sbin/vsftpd
  port=21
  log_no_success+=PID HOST DURATION
  log_no_failure+=HOST
  }
  3.service xinetd restart

原创粉丝点击