zoukankan      html  css  js  c++  java
  • Linux 架设vsftp服务器

    el5上架设

    vsftp是在各Linux分发版中较为流行的ftp服务器

    基本软件需求:

    tcp_wrappers-7.6-40.4.el5.i386.rpm

    vsftpd-2.0.5-12.e15.i386.rpm

    安装配置,分为在xinet.d下的服务托管模式 和 独立模式,此次讨论独立模式

    1. 修改配置文件适合需求:/etc/vsftpd/vsftpd.conf
    2. 修改iptables防火墙设置:“stop” it 不好,最好放行telnet的端口
    3. 修改selinux:“stop” it 不好;setenfoce 0 不好;最好放行ftp策略 setsebool ftpd_disable_trans on|1

    最基本的相关设置

    • listen=yes   --打开ftp服务,开启匿名服务(只允许匿名用户列表ftp根目录,可以下载;根ftp目录在:/var/ftp/)
    • pam_service_name=vsftpd  --太恶心了。即使你不用seliunx,也得加上这句话,这让vsftpd的身份认证方式!!!
    • listen_port=21  --监听ftp端口
    • listen_address=x.x.x.x  --监听某个ip或地址
    • idle_session_timeout=600  --空闲会话断开前的经过的秒数
    • connect_timeout=60  --网络连接超时秒数
    • accept_timeout=60  --用户连接到服务器后排队等候超时
    • max_client=400  --最大客户端连接数
    • max_per_ip=1  --每ip最大连接数
    • local_max_rate=100000  --本地用户的最大连接速率bit
    • anno_max_rate=1000  --匿名用户的最大连接速率

    辅助基本设置

    • ftpd_banner=欢迎信息
    • banner_file=/var/vsftpd_banner_files  --使用该文件中的欢迎信息,注意该设置会override ftpd_banner的设置
    • banner_fail=/var/vsftpd_banner_fail  --使用该文件中的显示连接失败信息,
    • dirmessage_enable=yes  --切换目录时使用该目录下的.message显示消息

    匿名用户管理  本质上:vsftp进程将匿名用户模拟Linux上的nobody用户,所有必须保证适当的Linux系统权限

    • anonymous_enable=yes  --允许匿名用户访问ftp,是默认设置,访问根ftp目录  注意必须保证匿名用户所访问的目录在Linux下有写r权限
    • anon_root=/var/ftp/anon  --修改匿名用户的ftp根目录
    • anon_upload_enable=yes  --允许匿名用户在根ftp目录的上传文件权限  注意必须保证匿名用户所访问的目录在Linux下有写w权限
    • anon_mkdir_write_enable=yes  --允许匿名用户创建目录并上传文件权限  注意必须保证匿名用户所访问的目录在Linux下有写w权限
    • anon_world_readable_only=no  --允许匿名用户的读权限,可浏览所有文件、目录、子目录  注意必须保证匿名用户所访问的目录在Linux下有写r权限

    本地用户管理  本质上:vsftp进程将本地用户模拟Linux上的对应本地用户,所有必须保证适当的Linux系统权限

    • pam_service_name=vsftpd  --太恶心了。即使你不用seliunx,也得加上这句话,这让vsftpd的身份认证方式!!!
    • anonymous_enable=no  --关闭匿名登陆
    • local_root=/var/ftp  --本地用户的根目录,可以通过设置chroot_local_user=yes来限制本地用户只能在其home下
    • local_enable=yes  --允许本地用户登陆vsftp服务器
    • write_enable=yes  --允许本地用户的写权限
    • chroot_local_user=yes  --本地用户只能处于自家home下,如果没有这个设置,登陆用户可以访问任何具有Linux权限的os系统目录
    • chroot_list_enable=yes  --只允许列表中的用户更改根目录,必须同时设置了chroot_local_user=yes、chroot_list_file=/var/vsftpd/chroot_list;否则该设置不起作用
    • chroot_list_file=/var/vsftpd/chroot_list  --允许用户列表,如果chroot_list_enable=yes,必须设置该参数
    • userlist_enable=yes  --禁止userlist_file文件中列出的本地用户登陆vsftp服务器,配合userlist_deny策略设置
    • userlist_deny=yes  --限制策略:限制userlist_file文件中列出的本地用户登陆vsftp服务器——默认设置;否则只允许userlist_file文件中的用户访问
    • userlist_file=/etc/vsftpd/userlist  --用户列表

    虚拟用户管理

    关键是理解vsftpd对虚拟用户采取pam用户认证方式。所有必须设置相应的配置文件。而且在pam认证里必须进行审核 和 帐户 模块的设置!该ftp虚拟用户不是系统中真实存在的为了访问Linux的相应目录,必须在vsftpd.conf配置里设置真实的本地用户!相关设置如下:

    • 虚拟用户对应的内部用户设置同本地用户设置。关键是local_enable=yes  write_enable=yes
    • 设置虚拟用户:db42_load  -T  -t hash    -f 虚拟用户列表文件(用户名A\n用户A密码..........)       pam虚拟用户数据库.db
    • 在/etc/pam.d/下建立一个vsftpd应用的配置文件如“vsftpd”——该文件名需要在——vsftpd.conf的pam_service_name=?——相应配置
    • guest_enable=yes  --允许使用虚拟用户,即纯vsftp用户
    • guest_username=root  --虚拟用户映射的本地用户,此处是root超级管理员用户
    • user_config_dir=dir_spece  --虚拟用户的具体配置目录,该目录下有以各个虚拟用户名定义的配置文件:虚拟用户可以像本地用户一样进行根目录home限制,参考本地用户的设置

    高级管理

    • 创建虚拟目录:#mount --bind olddir  newdir
    • 以xinet服务启动:

    1.在/etc/xinetd.d/目录中创建一个文件vsftpd

       /etc/xinetd.d/vsftpd内容如下:

      service ftp
    {
    socket_type = stream
    wait = no
    user = root
    server = /usr/sbin/vsftpd
    # server_args =
    # log_on_success += DURATION USERID
    # log_on_failure += USERID
    nice = 10
    disable = no
    }

    2.在/etc/下配置vsftpd.conf配置文件:即 /etc/vsftpd.conf。注意删除 listen=YES

    未知其作用的参数

    data_connection_timeout

  • 相关阅读:
    ASP.NET 4.0 与 Entity Framework 4第三篇使用Entity Framework调用存储过程
    雕虫无小技 JavaScript初学者的10个迷你技巧
    IE6下button随着文字的增多两边的内容边框也会增加的bug
    bigint ,int ,smallint ,tinyint 数据类型
    分享7个不错的jQuery游戏( 转)
    IE CSS Bug及解决方案参考手册
    利用CSS样式打印
    SQL 2005 弹出不允许对系统目录进行即席更新解决方法
    VS2010快捷键
    SQL2K,DTC错误:"该伙伴事务管理器已经禁止了它对远程/网络事务的支持"的解决办法
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1421980.html
Copyright © 2011-2022 走看看