Linux下FTP的架设

来源:互联网 发布:洗头发 知乎 编辑:程序博客网 时间:2024/06/14 03:17

一、安装
    本文以redhat AS 4.0为例:首先要安装linux下的vsftp软件包。
  rpm -qa|gerp vsftpd //查找vsftpd有没有安装
  如果没有安装就 vsftpd-2.0.1-5.i386.rpm (在第一张光盘)
下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd&submit=Search+...
  在linux中有一个非常重要的一点就是要挂载光驱 mount /media/cdrom
  在这里我们就不用源代码安装了。用的是rpm安装
  #rpm -ivh vsftpd-2.0.1-5.i386.rpm
  这里就安装好了。
  service vsftpd start 启动vsftpd服务
  如果在不设置任何的情况下,可以以匿名的方式访问该ftp。
  注.如果访问不了的时候请大家要把linux的防火墙也要关闭:
  iptables -F 清除防火墙
  在安装好ftp会产生几个文件:
  /etc/vsftpd/vsftpd.conf 主配置文件
  /etc/vsftpd.ftpusers 指定哪些用户不能访问FTP服务器
  /etc/vsftpd.user_list     文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
  这几个文件就是整个ftp控制和禁止用户的权限配置。。。
二、配置
 下面我们就来设置一个vsftpd的核心文件
  # cd /etc/vsftpd/vsftpd.conf 这就是vsftpd的核心配置文件
  anonymous_enable=YES/no 是否允许匿名用户登录
  anonymous_enable=yes/no 是否允许匿名上传文件
  local_enable= YES/no 是否允许本地用户登录
  write_enable= YES/no 是否允许本地用户上传
  guest_enable=yes/no 是否允许虚拟用户登录;
  local_mask=022 设置本地用户的文件生成掩码为022,默认值为077
  dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容
  xferlog_enable= YES 激活上传和下载日志
  connect_from_port_20=YES 启用FTP数据端口连接
  pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
  userlist_enable= YES 允许vsftpd.user_list文件中的用户访问服务器
  userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器
  listen= YES/no 是否使用独占启动方式(这一项比较重要)
  tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式
  最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动)
  大家可以设置下面的设置:
  ftpd_banner=welcome to ftp service 设置连接服务器后的欢迎信息
  idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
  data_connection_timeout=120 设置客户机在进行数据传输时,设置空闲的数据中断时间
  accept_timeout=60 设置在多长时间后自动建立连接
  connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;
  max_clients=200 指明服务器总的客户并发连接数为200
  max_per_ip=3 指明每个客户机的最大连接数为3
  local_max_rate=50000(50kbytes/sec)
  anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制
  pasv_min_port=端口
  pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
  listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
  listen_port=端口号 设置FTP工作的端口号,默认的为21
  chroot_local_user=YES 设置所有的本地用户可以chroot
  chroot_local_user=NO 设置指定用户能够chroot
  chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行 )
  local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
  chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
  chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;
  userlist_enable=YES/NO 是否加载用户列表文件;
  userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;
  userlist_file=/etc/vsftpd.user_list 列表文件
  这些就是高级设置了。大家可以适当的更改。
  #vi /etc/hosts.allow
  vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)
  时间限制:
  #cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
  #vi /etc/xinetd.d/vsftpd/
  修改 disable = no
  access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
  例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp
  ftp的配置基本上只有这些了

来源:http://www.qqread.com/linux/2009/01/y448654.html