• 【linux】 LINUX FTP搭建


    1.安装ftp服务

      yum install vsftpd

    2.编辑配置文件

     vsftpd的配置文件有三个,分别是:
    /etc/vsftpd/vsftpd.conf
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list
    其中,/etc/vsftpd.conf是主配置文件。/etc/vsftpd.ftpusers中指定了哪些用户不能访问FTP服务器。

    /etc/vsftpd.user_list中指定的用户默认情况下(即在/etc/vsftpd.conf中设置了userlist_deny= YES)不能访问FTP服务器,

    当在/etc/vsftpd.conf中设置了userlist_deny=NO时,仅仅允许 /etc/vsftpd.user_list中指定的用户访问FTP服务器。
    二、vsftpd的默认主配置文件

    vsftpd的默认主配置文件的内容如下:
    //允许匿名登录
    anonymous_enable=YES
    //允许本地用户登录
    local_enable=YES
    //开放本地用户的写权限
    write_enable=YES
    //设置本地用户的文件生成掩码为022,默认值为077
    local_umask=022
    //当切换到目录时,显示该目录下的.message隐含文件的内容
    //这是由于默认情况下有message_file=.message的 设置
    dirmessage_enable=YES
    //激活上传和下载日志
    xferlog_enable=YES
    //启用FTP数据端口的连接请求
    connect_from_port_20=YES
    //使用标准的ftpd xferlog日志格式
    xferlog_std_format=YES
    //设置PAM认证服务的配置文件名称,该文件存放 在/etc/pam.d/目录下
    #pam_service_name=vsftpd

    三、进一步配置vsftpd

    1.允许匿名用户上传
    为了使匿名用户能够上传,需要在/etc/vsftpd中激活两个配置选项,分别是:

    anon_upload_enable=YES
    //允许匿名用户上传
    anon_mkdir_write_enable=YES
    //开 启匿名用户的写和创建目录的权限
    若要以上两项设置生效,同时还要求:

    write_enable=YES
    //匿名用户对文件系统的上传目录具有写权限

    添加如下的配置语句:

    anon_world_readable_only=NO
    //上面的配置语句用于放开匿名用户的浏览权限

    创建匿名上传目录:

    mkdir /var/ftp/incoming

    修改上传目录的权限:

    chmod o+w /var/ftp/incoming/

    重新启动vsftpd.

    2.启用ASCII传输方式
    默认情况下,vsftpd为了安全,禁止了ASCII传输方式。虽然在ftp客户软件中可以使用asc命令,但是传输文件时仍然使用二进制传输方式。可以分别启用上传和下载的ASCII传输方式,方法是编辑/etc/vsftpd配置文件,将如下两 行前的#去掉即可 启用:

    #ascii_upload_enable=YES
    #ascii_download_enable=YES

    3.设置连接服务器后的欢迎信息
    为了使用户连接服务器后显示信息,vsftpd提供了两个选项,分别是:

    ftpd_banner
    banner_file

    例如:可以设置如下的ftpd_banner选项的值:
    ftpd_banner=Welcome to Smartraining FTP service.
    即:用户连接服务器后显示信息“Welcome to Smartraining FTP service.”。
    也可以设置如下的banner_file选项的值:

    banner_file=/var/vsftpd_banner_file

    即:用户连接服务器后显示文件/var/vsftpd_banner_file中的信息。
    注意:(1)如果设置了ftpd_banner的值,将覆盖vsftpd默认的服务器连接后的信息。
    (2)如果ftpd_banner和banner_file同时设置,那么banner_file将覆盖ftpd_banner的设置。

    4.配置基本的性能和安全选项
    //设置空闲的用户会话的中断时间
    例如下面的配置:

    idle_session_timeout=600

    将在用户会话空闲10分钟后被中断。

    //设置空闲的数据连接的的中断时间
    例如下面的配置:

    data_connection_timeout=120

    将在数据连接空闲2分钟后被中断。

    //设置客户端空闲时的自动中断和激活连接的时间
    例如下面的配置:

    accept_timeout=60
    connect_timeout=60

    将使客户端空闲1分钟后自动中断连接,并在中断1分钟后自动激活连接

    //设置最大传输速率限制
    例如下面的配置:

    local_max_rate=50000
    anon_max_rate=30000

    将使本地用户的最大传输速率为50kbytes / sec,匿名用户的 传输速率为30 kbytes / sec。

    //设置客户端连接时的端口范围
    例如下面的配置:

    pasv_min_port=50000
    pasv_max_port=60000

    将使客户端连接时的端口范围在50000和60000之间。这提高了系统的安全性。

    //设置chroot
    在 默认配置中,本地用户可以切换到自家目录以外的目录进行浏览,并在权限许可的范围内进行下载和上传。这样的设置对于一个FTP服务器来说是不安全的。如果希望用户登录后不能切换到自家目录以外的目录,则需要设置chroot选项,涉及如下选项:

    chroot_local_user
    chroot_list_enable
    chroot_list_file

    有两种设置chroot的方法:
    (1)设置对所有的本地用户执行chroot(即活动范围限制在自家目录)只要将chroot_local_user的值设 为YES即可, 即:

    chroot_local_user=YES

    (2)设置指定的用户执行chroot需要如下的设置:

    chroot_local_user=NO
    chroot_list_enable=YES
    chroot_list_file= /etc/vsftpd.chroot_list

    这样,只有/etc/vsftpd.chroot_list文件中指定的用户才执行chroot。
    注意 :上面所提及的文件/etc/vsftpd.chroot_list和下面将要提及的文件 /etc/vsftpd.user_list的格式要求均为每个 用户名占一行。

    5.配置基于本地用户的访问控制
    要配置基于本地用户的访问控制,可以通过修改vsftpd的主配置文件/etc/vsftpd.conf来进行, 有两种限制方法:

    1)限制指定的本地用户不能访问,而其他本地用户可访问
    例如下面的设置:

    userlist_enable= YES
    userlist_deny=YES
    userlist_file= /etc/vsftpd.user_list

    使文件/etc/vsftpd.user_list中 指定的本地用户不能访问FTP服务器,而其他本地用户可访问FTP服务器。

    2)限制指定的本地用户可以访问,而其他本地用户不可访问
    例如下面的设置:

    userlist_enable= YES
    userlist_deny= NO
    userlist_file= /etc/vsftpd.user_list

    使文件/etc/vsftpd.user_list中 指定的本地用户可以访问FTP服务器,而其他本地用户不可以访问FTP服务器。
    注意:对于userlist_enable可以这样理解:
    如果userlist_enable=YES,表示vsftpd将从userlist_file选项给出的文件名中装载一个含有用户名的清单。然后再读取 userlist_deny的值来确定vsftpd.user_list中的用户是否允许访问FTP服务器。如果用户不能访问,将在输入用户口令前被拒绝。

    6.配置基于主机的访问控制
    由于vsftpd有两种运行方式,即:由inetd启动和独立启动。这两种运行方式的主机访问控制配置是不同的,下面介绍的是由xinetd启动的vsftpd的主机访问控制的配置。显然,要配置这种主机访问控制,需要修改配置文件/etc/xinetd.d/vsftpd。

    1)只允许指定的主机访问
    在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句:

    only_from <主机表>

    例如:only_from 192.168.1.0
    表示只允许192.168.1.0网段内的主机访问。

    2)指定不能访问的主机
    在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句:

    no_access <主机表>

    例如:no_access 192.168.1.0
    表示只有192.168.1.0网段内的主机不能访问。

    关于主机表的书写形式,见下表:
    访问控制表时主机表的书写语法
    选项值 含义
    Hostname 可解析的主机名
    IP Address 十进制表示的IP地址
    Net_name 在/etc/networks中定义的网络名
    x.x.x.0 x.x.0.0 x.0.0.0 0.0.0.0 0作为通配符看待。如:191.72.61.0匹配从191.72.61.0到191.72.61.255的所有IP地址。0.0.0.0表示匹配所有的IP地址
    x.x.x.{a,b,.} x.x.{a,b,.} x.{a,b,.} 指定主机表。如:191.72.61.{1,3,123}表示包含地址191.72.61.1、191.72.61.2和191.72.61.123
    IPAddress/netmask 定义要匹配的网络或子网。如:172.19.16/20匹配从172.19.16.0到172.19.31.255


    3)配置每个客户机的最大连结数
    //在置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句:

    per_source = 数值

    例如:per_source = 5表示每个客户机的最大连接数为5。

    4)配置服务器总的并发连接数
    在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句:

    instances = 数值

    例如:instances = 200 表示FTP服务器总共支持的最高连接数为200。

    5)配置访问时间限制

    在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句:

    access_time = hour:min-hour:min

    例如:access_time = 18:00-23:59 表示只有在下午6点到午夜0点之前才能访问此FTP服务器;
    又如:access_time = 8:30-11:30 13:00-18:00 表示只有在上午8点半到11点半和下午1点到下午6点才能访问此FTP服务器。

    FTP用户添加。

    useradd -d /home/test1 -s /sbin/nologin test1 //创建匿名用户

    passwd test  //设置用户 密码

    ============如何处理500错误=====
    原因: selinux上
    redhat面向目标是企业,为了安全,
    增加了一个selinux的服务,secrity enhanced , 安全加强服务.
    关闭:
    vi /etc/selinux/config
    SELINUX=disabled
    保存,
    然后 运行 setenfoce 0 命令即可

  • 相关阅读:
    全文索引的书
    图片上传预览
    sqlserver 递归删除组织结构树
    dataset 转泛型list
    jquery easyui tree 异步加载数据
    sqlserver 禁用外键
    linx 实用操作命令二
    Compilation failed: this version of PCRE is not compiled with PCRE_UTF8 support at offset 0
    Centos linux php扩展安装步骤
    linux Apache和php配置
  • 原文地址:https://www.cnblogs.com/tl542475736/p/3788650.html
Copyright © 2020-2023  润新知