精华内容
下载资源
问答
  • Linux下FTP配置

    2020-03-03 13:39:59
    关于Linux下搭建FTP服务的文章网上有很多,但是大部分都局限于某一点,在实际操作过程中会遇到各种问题,针对本人在使用中用到的一些设置和出现的问题对网络信息进行了归纳整理和总结。 示例操作系统:CentOS. ...

    关于Linux下搭建FTP服务的文章网上有很多,但是大部分都局限于某一点,在实际操作过程中会遇到各种问题,针对本人在使用中用到的一些设置和出现的问题对网络信息进行了归纳整理和总结。

    示例操作系统:CentOS.

    示例FTP软件:VSFTPD.

     

    测试工具:windows cmd或者cuteftp、smartftp等工具

    一、VSFTPD环境安装:

    输入#rpm -qa |grep vsftpd检测是否安装了vsftpd软件,

    如果没有安装,使用YUM命令进行安装。即yum install vsftpd -y.

    安装完成后启动FTP。

    启动命令#service vsftpd start

    停止命令#service vsftpd stop

    重启命令#service vsftpd restart

    二、VSFTPD环境的初步配置:

    ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:

    ftpusers 该文件用来指定那些用户不能访问ftp服务器。

    user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp.

    vsftpd.conf vsftpd的主配置文件.

    ftpusers和user_list用来控制登录用户。

    ftpusers文件中的内容不受任何配制项的影响,总是有效,是一个黑名单!

    该文件存放的是一个禁止访问FTP的用户列表,通常为了安全考虑,管理员不希望一些拥有过大权限的帐号(比如root)登入FTP,以免通过该帐号从FTP上传或下载一些危险位置上的文件从而对系统造成损坏。

    而user_list文件则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是一个白名单。

    userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。

    当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP

    当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;

    当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous

    而最常用的配置文件是vsftpd.conf,在配置完成后要运行#service vsftpd restart重启FTP服务。

    vsftpd.conf中常用的配置内容:

    1、匿名用户能否上传和写文件,一般配置为NO

    anon_upload_enable=NO

    anon_mkdir_write_enable=NO

    匿名用户能否登录,视情况而定,看是否是专有用户使用。

    anonymous_enable=NO

    2、端口设定

    port_enable=YES,即默认情况下,FTP PORT主动模式被启用

    connect_from_port_20=YES,即默认情况下,FTP PORT主动模式进行数据传输时使用20端口(ftp-data)。YES使用,NO不使用。

    ftp_data_port=port number,设定ftp数据传输端口(ftp-data)值。默认值为20。此参数用于PORT FTP模式。

    3、通信编码模式

    默认情况下可以通过ascii模式传输。将配置改为NO后,只能通过binary形式传输。

    ascii_upload_enable=YES

    ascii_download_enable=YES

    三、为FTP添加用户和目录:

    添加用户和用户登录的处理shell,并设定密码。

    useradd -d /var/ftp -s /sbin/nologin ftp

    passwd pwftp

    为用户设置权限:

    chmod -R 755 /var/ftp

    chown -R ftp /var/ftp

    用户的登录控制还可以参照上文中user_list进行设定。

    四、FTP 的主动与被动模式

    FTP是基于TCP的服务,在实际应用中有两个接口:一个数据接口,一个控制接口。默认情况下这两个端口是21(控制端口)和20(数据端口)。

    主动方式的FTP是:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

    被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。在被动方式FTP中,命令连接和数据连接都由客户端发起.当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N>1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

    简单的来说,可以认为两者的区别主要在于客户端和服务器端到底是由谁来确定非特权端口,也就是这一对TCP通信组合的通道。如果是客户端先确定非特权端口就是主动模式,服务器端先确定非特权端口就是被动模式。(但实质上通信过程是不一样的,这种说法只可以做简单区分用)

    五、FTP相关的防火墙设定

    当Linux系统启动了防火墙后,需要相应的对防火墙进行设定,防止防火墙阻断FTP通信。

    支持主动方式FTP,防火墙设定:

    1. 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)

    2. FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口)

    3. FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)

    4. 大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口)

    支持被动方式的FTP,防火墙设定:

    1. 从任何大于1024的端口到服务器的21端口(客户端初始化的连接)

    2. 服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)

    3. 从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)

    4. 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)

    下面以被动模式的防火墙为例给出示范:

    首先vi /etc/vsftpd/vsftpd.conf文件中配置开启pasv被动模式:

    pasv_enable=YES

    设定非特权端口的通信范围(示例只做参考):

    最小值pasv_min_port=10020

    最大值pasv_max_port=11020

    保存后注意配置后重启vsftpd服务。

    然后vi /etc/sysconfig/iptables,配置系统防火墙:

    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

    -A INPUT -p icmp -j ACCEPT

    -A INPUT -i lo -j ACCEPT

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 10020:11020 -j ACCEPT

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

    保存后注意重启iptables服务。

    如果FTP服务器为云服务器或者有局域网路由控制,除了单独设定路由端口映射规则并在云服务器安全规则中添加例外,还要在/etc/vsftpd/vsftpd.conf中声明被动模式的公网地址,以防端口映射出现问题:

    pasv_address=111.111.111.111(示例)

    pasv_addr_resolve=yes

    pasv_promiscuous=yes

     

    注:如果连接过程中出现200 PORT command successful. Consider using PASV.这条错误信息,不要轻易按照网上建议最多的关闭PASV模式,只采用主动模式。因为在很多情况下客户端处于VLAN等网络环境下,很难主动给出链接端口,不得不采用被动模式,出现这个错误并不能通过关闭PASV模式解决,而应该寻找PASV各方面的位置,找到配置中存在的问题进行解决。

    展开全文
  • linux下ftp配置

    2019-09-24 15:32:45
    # 匿名用户配置 anonymous_enable=YES # 是否允许匿名ftp,如否则选择NO anon_upload_enable=YES # 匿名用户是否能上传 anon_mkdir_write_enable=YES # 匿名用户是否能创建目录 anon_other_write_enable=YES # ...

    # 匿名用户配置  

    anonymous_enable=YES         # 是否允许匿名ftp,如否则选择NO  

    anon_upload_enable=YES       # 匿名用户是否能上传  

    anon_mkdir_write_enable=YES  # 匿名用户是否能创建目录  

    anon_other_write_enable=YES  # 修改文件名和删除文件  

     

    # 本地用户配置  

    local_enable=YES # 是否允许本地用户登录  

    local_umask=022  # umask 默认755  

    write_enable=YES  

    chroot_local_user=YES  # 本地用户禁锢在宿主目录中  

     

    chroot_list_enable=YES # 是否将系统用户限止在自己的home目录下  

    chroot_list_file=/etc/vsftpd.chroot_list # 列出的是不chroot的用户的列表  

     

    chown_upload=YES  # 是否改变上传文件的属主  

    chown_username=username # 如果是需要输入一个系统用户名  

     

    userlist_enable=YES  

    userlist_deny=NO  

     

    deny_email_enable=YES # 是否允许禁止匿名用户使用某些邮件地址  

    banned_email_file=/etc/vsftpd.banned_emails # 禁止邮件地址的文件路径  

     

    ftpd_banner=Welcome to chenlf FTP service. # 定制欢迎信息  

    dirmessage_enable=YES # 是否显示目录说明文件, 需要收工创建.message文件  

    message_file= # 设置访问一个目录时获得的目录信息文件的文件名,默认是.message  

     

    xferlog_enable=YES # 是否记录ftp传输过程  

    xferlog_file=/var/log/vsftpd.log # ftp传输日志的路径和名字  

    xferlog_std_format=YES # 是否使用标准的ftp xferlog模式  

     

    ascii_upload_enable=YES   # 是否使用ascii码方式上传文件  

    ascii_download_enable=YES # 是否使用ascii码方式下载文件  

     

    connect_from_port_20=YES # 是否确信端口传输来自20(ftp-data)  

     

    nopriv_user=ftpsecure # 运行vsftpd需要的非特权系统用户默认是nobody  

     

    async_abor_enable=YES # 是否允许运行特殊的ftp命令async ABOR.  

     

    # FTP服务器的资源限制  

     

    idle_session_timeout=600 # 设置session超时时间  

    data_connection_timeout=120 # 设置数据传输超时时间  

     

    max_clients=50 # 用户最大连接数 默认是0不限止  

    max_per_ip=5   # 每个IP地址最大连接数  

     

    anon_max_rate=102400  # 匿名的下载速度 KB  

    local_max_rate=102400 # 普通用户的下载速度 KB  

     

    其他配置文件  

     

    /etc/xinetd.d/vsftpd  

     

    service ftp  

    {  

    socket_type = stream  

    wait = no  

    user = root  

    server = /usr/local/sbin/vsftpd  

    # server_args =  

    # log_on_success += DURATION USERID  

    # log_on_failure += USERID  

    nice = 10  

    disable = no  

    }  

     

    /etc/pam.d/vsftpd  

    PAM 认证  

     

    /etc/vsftpd.chroot_list  

    此文件包含对服务器上所有FTP内容有权限的用户名。对其他用户来说,他们在服务器上的主目录对他们显示为根目录。  

     

    /etc/shells  

    在允许本地用户登录之前,系统默认检查是否有有效的用户 shell。以防 PAM 认证不可用的情况。  

    /etc/ftpusers  

    此文件包含*禁止*FTP登录的用户名,通常有 "root", "uucp", "news" 之类,因为这些用户权限太高,登录 FTP 误操作危险性大。  

     

    防火墙设置  

     

    如果是用默认的SuSEFirewall2,在 YaST-系统-/etc/sysconfig 编辑器,network-SuSEfirewall2  

     

    把 ftp 添加到 FW_SERVICES_EXT_TCP,比如你还要打开 ssh 那么  

     

    FW_SERVICES_EXT_TCP "ftp ssh"  

     

    如果你需要被动模式 FTP 和 nat,在 YaST-系统-/etc/sysconfig 编辑器,network-SuSEfirewall2  

     

    FW_LOAD_MODULES "ip_conntrack_ftp ip_nat_ftp"  

     

     

    另一种方式直接修改防火墙配置文件:  

    # cd /etc/sysconfig/  

    # vi SuSEfirewall2  

    FW_SERVICES_EXT_TCP "ftp 21 telnet 23"  

    # rcSuSEfirewall2 restart

    转载于:https://www.cnblogs.com/hhjwqh/p/8341367.html

    展开全文
  • linux下ftp配置文件

    2016-01-11 17:35:09
    CentOS7的一份完整vsftpd的配置文件。阿里云三台CentOS7.0 linux主机亲测有效。 不过需要单独新建一份文件/vsftpd/chroot_list文件,里面写上允许登录的ftp用户名。
  • Centos Linux 下FTP配置

    2014-05-12 15:16:08
    Linux下FTP配置其实很简单,但是在实际配置过程当中由于:

    Linux下FTP的配置其实很简单,但是在实际配置过程当中由于Linux特有的安全性问题经常导致没法访问。下面讲解的忽略所有的安全问题的情况下的ftp配置情况。

    1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,使用yum  -y  install vsftpd 安装

    2.添加ftp帐号和目录
    先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。
    使用下面的命令创建帐户,该命令指定了/alidata/www/wwwroot为用户ftpuser的家目录,您可以自己定义帐户名和目录:
    #useradd -d /var/ftp/ftpfile -s /sbin/nologin ftpuser
    修改该帐户密码:
    #passwd ftpuser
    修改指定目录的权限
    #chown -R ftpuser.ftpuser /var/ftp/ftpfile
    3.配置vsftp
    编辑vsftp配置文件,命令如下:
    #vi /etc/vsftpd/vsftpd.conf
    将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
    取消如下配置前的注释符号:
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    保存修改,按ESC键,输入:wq
    4.修改shell配置
    vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
    5.启动vsftp服务并测试登录
    使用命令启动vsftp服务:
    #service vsftpd start

    然后用帐号pwftp测试下是否可以登陆ftp。目录是/var/ftp/ftpfile。

    在实际过程当中linux的ftp没法访问。我们可以关闭防火墙以及其他的安全监测(在实际企业的应用当中最好是开放21端口)

    1,关闭防火墙

    service  iptables stop

    2,关闭SELinux

    修改配置文件需要重启机器:
    修改/etc/selinux/config 文件
    将SELINUX=enforcing改为SELINUX=disabled
    重启机器即可


    3,vftpd开机启动:
    修改rc.local文件2:
    修改/etc/rc.local,加入/etc/rc.d/init.d/vsftpd  start

    展开全文
  • yum安装vsftp sudo su -# yum install vsftpd 确认没有使用的端口 cat /proc/sys/net/ipv4/ip_local_port_range32768 61000 32768 – 61000端口在没有...修改内容请参照表。 区分 修改内容 解...
    1. yum安装vsftp

    sudo su -# yum install vsftpd

    1. 确认没有使用的端口

    cat /proc/sys/net/ipv4/ip_local_port_range32768 61000

    32768 – 61000端口在没有使用的状态。
    3. 修改/etc/vsftpd/vsfptd.conf文件
    修改内容请参照下表。
    区分
    修改内容
    解释
    修改
    anonymous_enable=NO
    禁止匿名FTP用户的登录
    修改
    dirmessage_enable=NO
    用户初次进入新目录时,显示该目录需要注意的内容,在这里配置为不显示
    修改
    ls_recurse_enable=YES
    允许用户删除目录
    追加
    ascii_upload_enable=YES
    允许以ASCII模式上传文件
    追加
    ascii_download_enable=YES
    允许以ASCII模式下载文件
    修改
    chroot_local_user=YES
    把本地用户的根目录改为各自的FTP根目录
    修改
    chroot_list_enable=YES
    有效chroot_list。默认文件是chroot_list_file=/etc/vsftpd/chroot_list
    修改
    tcp_wrappers=NO
    不使用tcp_wrappers做限制(使用AWS EC2的Security Group作限制)
    修改
    connect_from_port_20=NO
    不使用ActiveFTP
    修改
    xferlog_std_format=NO
    以vsftpd格式记录到日志文件,YES时是wu-ftpd格式
    追加
    pasv_enable=YES
    使用PASV FTP
    追加
    pasv_addr_resolve=YES
    在PASV模式下从主机名,获取连接IP地址
    追加
    pasv_address=主机IP地址
    配置EC2的Elastic IP地址
    追加
    pasv_min_port=60001
    在PASV模式是使用的最小端口号(在手顺2确认的没有使用的端口里选择)
    追加
    pasv_max_port=60100
    在PASV模式是使用的最大端口号(在手顺2确认的没有使用的端口里选择)
    追加
    use_localtime=YES
    使用主机的时间
    追加
    force_dot_files=YES
    不隐藏.开头的文件
    4. 修改/etc/vsftpd/chrott_list
    指定不变更根目录的用户,在这里指定的用户会访问根目录,一般指定root等用户。在这里配置为空文件,不进行修改。

    vi /etc/vsftpd/chroot_list

    1. 创建FTP用户

    adduser zabbix# passwd zabbix

    1. 配置开机启动并启动FTP服务

    chkconfig vsftpd on# chkconfigvsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off# service vsftpd start

    1. 配置AWS的Security Group
      修改配置FTP服务的AWS EC2的Security Group。
      在Inbound追加以下内容。
      Type
      Protocol
      Port Range
      Source
      Custom TCP Rule
      TCP
      21
      0.0.0.0/0
      Custom TCP Rule
      TCP
      60001 – 60100
      0.0.0.0/0
    展开全文
  • # 匿名用户配置 anonymous_enable=YES # 是否允许匿名ftp,如否则选择NO anon_upload_enable=YES # 匿名用户是否能上传 anon_mkdir_write_enable=YES # 匿名用户是否能创建目录 anon_other_write_enable=YES # ...
  • redhat linux 下FTP配置 (二)

    千次阅读 2009-10-24 10:13:00
    redhat linux 下FTP配置。(vsftp) 1.启动vsftp: /sbin/service vsftpd start 备注d代表再后台启动。2.查看是否启动,就登陆到FTP试试。 登陆FTP:ftp localhost 退出FTP:bye3.查看Linux IP :ifconfig在控制管理...
  • linux FTP 配置文件详解

    千次阅读 2015-11-21 10:15:56
    二、配置文件说明1.用户登录和相关权限设置anonymous_enable=YES #设置是否允许匿名用户登录FTP服务器。默认为YES ftp_username=ftp #定义匿名用户的账户名称,默认值为ftp。 no_anon_password=YES #匿名用户登录时...
  • 如果是默认安装vsftpd的话,以下是一些文件的位置约定: /usr/sbin/vsftpd ---- VSFTPD的主程序 /etc/rc.d/init.d/vsftpd ---- 启动脚本 /etc/vsftpd/vsftpd.conf ---- 主配置文件 /etc/pam.d/vsftpd ---- PAM认证...
  • Linux下ftp配置全过程

    2010-05-28 21:23:50
    Linux下配置Ftp总结: 本文以redhat AS 5.5为例:首先要安装linux下的vsftp软件包,我在安装Linux时选择了安装ftp,所以只要启动就可以了。 1、使用命令:#service vsftpd start ,启动vsftpd服务,如果不能...
  • redhat linux 下FTP配置

    千次阅读 2010-12-16 16:14:00
    3.2 VSFTP—安全与效能兼备的ftp 服务器 3.2.1 VSFTP 概述 FTP,file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。读者在使用RedHat9 的时候,可能会感受到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,237
精华内容 1,294
关键字:

linux下ftp配置

linux 订阅