ftp 订阅
文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。 [1]  FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。 [1] 展开全文
文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。 [1]  FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。 [1]
信息
中文名
文件传输协议
外文名
ftp
传输文件类型
ASCII文件和二进制文件
默认端口
21
用    途
进行文件传输
工作模式
客户机/服务器模式
ftp简介
FTP 是因特网网络上历史最悠久的网络工具,从 1971 年由 A KBHUSHAN 提出第一个 FTP 的RFC(RFC114) [2]  至今近半个世纪来,FTP 凭借其独特的优势一直都是因特网中最重要、最广泛的服务之一。 [3]  FTP 的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。它能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。 [4-5] 
收起全文
精华内容
参与话题
问答
  • FTP

    千次阅读 2017-08-22 22:31:28
    ftp为计算机上的一种协议,在linux中有多种实现软件,server端如vsftpd,client端如:ftp lftp 等以及可以实现下载ftp服务端资源的工具如 wget ftp工作于应用层之上,所以ftp可以跨平台,而且ftp通信时使用TCP的两...

    简介:

    ftp为计算机上的一种协议,在linux中有多种实现软件,server端如vsftpd,client端如:ftp lftp 等以及可以实现下载ftp服务端资源的工具如 wget
    ftp工作于应用层之上,所以ftp可以跨平台,而且ftp通信时使用TCP的两个端口,一个用于发送指令,另外一个用于传输数据,但是只有指令端口处于监听状态,数据端口当在进行数据发送时才会打开。
    以下图片将对本文中出现的内容进行简单概述
    这里写图片描述

    ftp状态码:

    这里写图片描述

    ftp用户:

    ftp的用户可以分为三种但是无论使用三种中的任何一种登录系统,最终都需要在系统上进行用户身份的授权,即对访问文件系统的ftp进程的发起者的身份。系统上任何进程都需要指定发起者身份,所以指定进程运行身份是必须的。使用的任何的账户登录最终都要对应一个系统上的身份,
    而用户最终能否访问系统上文件,需要进行两次筛选,登录的用户应用程序是否允许读取指定的文件,与操作系统是否允许以该用户对应身份运行的进程有权限读取该指定的文件。

    用户分类:

    这里写图片描述

    匿名用户:

    匿名登录时在服务端是以ftp账户登录,而且进入的是ftp用户的家目录,即以家目录为根. 对文件的操作权限使用系统账号ftp的权限

    系统账户:

    即操作系统使用的账号,存放在系统文件passwd中,该类账号以系统账号自身进行登录,即进程的发起者身份及为该账号。登录时登录到用户的家目录。

    虚拟账户:

    即ftp应用程序内部使用的账户,登录时可以指定映射为对应的系统账户,且必须指定映射的用户


    ftp实现:

    ftp客户端:

    ftp为应用层的协议所以ftp支持众多的操作系统平台。
    而且ftp的两种服务端工作模式,即主动模式与被动模式同样在客户端连接时在客户端上进行指定。
    这里写图片描述

    ftp服务端:

    ftp的服务端实现即为vsftpd
    这里写图片描述

    端口:

    ftp传输数据使用了两种方案。主动模式与被动模式
    这里写图片描述

    发送指令端口,默认使用21端口,而且在ftp服务运行之后,使用21端口进行监听
    发送数据端口,对于发送数据的端口根据传送数据的模式不同有两种对应的方案.
    主动模式,当服务器接收到请求数据指令时,服务器主动开启数据传输端口,向客户端发起ftp的三次握手请求,此时服务器默认的开启的数据传输端口为20.
    被动模式,当服务器接收到请求数据指令时,服务器仅通过指令端口回传数据以及本地的监听的数据端口信息,继续由客户端发起ftp的三次握手请求。

    主动模式与被动模式的区别为,服务器是否主动进行数据的传送(指令与数据中的数据),当服务器打开20端口并进行三次握手请求为主动模式.当客户端打开数值加一的随机端口向服务端的随机端口发送三次握手请求为被动连接.服务器与客户对于对方数据端口号的获取,通过指令端口进行.
    通信时使用主动模式或是使用被动模式,需要server,client之间进行协商,协商的发起为client端。

    ftp配置文件:

    这里写图片描述

    配置文件:/etc/vsftpd/vsftpd.conf
    查看配置文件帮助
    man 5 vsftpd.conf

    设置监听的端口,即指令端口。
    listen_port=修改的端口号,默认配置文件中不存在此配置,需要手工添加.

    设置监听的端口,即指令端口。
    connect_from_port_20=YES 主动模式端口为20
    ftp_data_port=20 指定主动模式的端口,和上面设置相似

    设置主动模式时,主动打开的端口
    connect_from_port_20=YES 主动模式端口为20
    ftp_data_port=20 指定主动模式的端口,和上面设置相似

    设置被动模式时,可进行响应的端口范围
    pasv_min_port=6000 最小端口号
    pasv_max_port=6010 最大的端口号。
    当以上两项数值都为0时,为随机分配

    设置使用当地时区的时间
    use_localtime=YES (默认为NO,使用GMT)

    设置支持匿名账户登录
    anonymous_enable=YES

    设置匿名账户不进行口令检查
    no_anon_password=YES

    设置匿名账户只能下载ugo都为w的文件
    anon_world_readable_only=YES
    默认该项为YES

    设置匿名账户可以上传文件,但需要注意系统账户ftp的权限
    anon_upload_enable=YES

    设置匿名账户可以创建文件夹
    anon_mkdir_write_enable=YES

    匿名账户可以删除,修改服务器上的文件
    anon_other_write_enable=YES

    设定匿名账户的umask值,也就是文件最终的权限
    anon_umask=077

    设置匿名文件的所有者
    chown_username=wang

    指定匿名账户上传文件的默认所有者,与权限
    chown_uploads=YES(默认NO)
    开启匿名上传功能
    chown_username=wang
    设置匿名文件的所有者
    chown_upload_mode=0644
    设置匿名文件的umask值

    将所有的系统账户映射为指定的系统账户
    guest_enable=YES
    开启映射功能
    guest_username=ftp(系统用户名称)
    将所有的用户映射到指定的系统用户

    是否允许Linux系统账户登录
    local_enable=YES
    YES为允许

    系统用户是否可写
    write_enable=YES

    系统用户最终上传的权限
    local_umask=022

    非匿名用户登录时映射到的目录
    local_root=路径

    设置系统账户登录以家为根。
    以系统用户登录可以进入系统中所有该账号有权限进入的目录,即以ftp服务器的文件系统的根为FTP的根,在大多数场景下,此类配置会带来安全隐患。ftp支持系统用户登录时以自己的家目录为ftp的根。
    chroot_local_user=yes
    将不允许用户切换至非家目录下的文件夹进行限制后文件的路径以家为根
    如果需要开放某些特定的用户,对整个服务器的文件系统的全局访问权限
    chroot_list_enable=YES 启用列表
    chroot_list_file=路径 指定列表路径
    当开启列表后chroot_local_user的值将决定列表中用户的性质,即列表为黑名单或白名单
    chroot_local_user=NO 当为NO时不再文件中的用户可以切换至非家,文件中的将不能进行切换
    chroot_local_user=YES 当为yes时在文件中的用户才可以进行切换

    日志设置
    FTP可以同时记录两种日志:WU日志;以及FTP本身日志
    这应该是总开关
    xferlog_enable=yes
    开启wu日志
    xferlog_std_format=yes
    使用WU日志
    xferlog_file=路径
    设置日志的保存路径
    开启vsftp日志
    dual_log_enable=YES
    使用vsftp日志
    vsftpd_log_file=路径
    设置日志的保存路径

    设置用户登录ftp的提示信息以及用户进入某个目录的提示信息
    登录的提示信息
    基于输入的值
    ftpd_banner=登录的提示信息
    基于设定的文件
    banner_file=文件的路径
    进入目录的提示信息
    功能启用
    dirmessage_enable=YeS
    设置文件夹下保存提示信息的文件
    message_file=文件路径
    默认为.message 分别保存在每个需要用到的显示切换信息的目录下

    系统用户登录控制
    基于pam的用户控制
    基于pam的控制需要更改pam模块的配置文件/etc/pam.d/vsftpd
    控制是基于pam_listfile.so模块进行控制的.所以更改配置文件中的第二行 pam_listfile.so的配置
    auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusersonerr=succeed
    sense 设置文件的作用,作为黑名单或是作为白名单
    sense=allow |deny 白名单|黑名单
    file 即控制用户登录的文件.格式每行一个用户
    作为pam的模块的配置文件 ,无需重启vsftpd服务
    基于vsftp自身的用户控制
    编辑vsftpd的配置文件
    /etc/vsftpd/vsftpd.conf
    开启用户列表控制功能
    userlist_enable=yes
    设置模式
    userlist_deny=YES|NO 黑名单|白名单
    设置文件路径
    userlist_file=文件路径
    更改配置文件需要重启

    用户传输控制
    配置文件:/etc/vsftpd/vsftpd.conf
    连接数限制
    设置最大的连接数,连接总数.
    max_clients
    设置每个IP的最大连接数
    max_per_ip
    当设置的值为0时将不限制,如:
    max_clients=0
    max_per_ip=0
    传输速率限制
    设置匿名用户的最大传输速率
    anon_max_rate
    设置本地用户的最大传输速率
    local_max_rate
    同样当设置值为0时将不进行限制
    连接时间限制
    主动模式下数据连接超时时间
    connect_timeout=60
    被动模式下数据连接超时时长
    accept_timeout=60
    数据连接无数据传输超时时间
    data_connection_timeout=300
    无命令操作超时时长
    idle_session_timeout=60

    设置默认的文件传输方式
    可以设置为文本模式与二进制模式
    设置为默认为文本编码进行文件上传,客户端的文件上传
    ascii_upload_enable=YES
    设置为默认为文本编码进行文件下载,客户端的文件下载
    ascii_download_enable=YES
    注:该配置只是设置优先的传输方式,可以在客户端指定本次传输使用的模式
    windows中支持文本方式,但是linux只能使用二进制传输

    设置二级进程的运行身份
    默认的二级进程运行身份为nobody,nobody为系统中大部分程序需要使用默认的用户时使用的用户。
    配置项 :nopriv_user=用户名称
    nopriv_user=ftpd

    设置ftp的服务类型
    独立服务与非独立服务,centos6默认为独立服务,但是在centos7 中直接就没有独立服务,就是所有程序都为非独立服务。
    配置文件配置项:
    /etc/vsftpd/vsftpd.conf
    listen=YES|NO 非立服务|独立服务
    设置为非独立服务后需要使用xinetd进行管理:
    确保xinetd已经安装,
    修改或创建,或复制其他非独立服务文件进行修改。总之创建xinetd的vsftpd的配置文件
    然后停止ftp
    重启xinetd

    使用ssl进行验证
    启用SSL
    ssl_enable=YES
    匿名不支持SSL
    allow_anon_ssl=NO
    本地用户登录加密
    force_local_logins_ssl=YES
    本地用户数据传输加密
    force_local_data_ssl=YES
    指定证书文件地址
    rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
    创建证书
    openssl创建
    需要将私钥追加至证书中
    cat ftp.key >> ftp.pem
    ftp自带工具创建
    cd /etc/pki/tls/certs/
    make vsftpd.pem

    ftp虚拟用户
    虚拟应该对应一个操作系统的账户。仅能被映射为一个账号。即操作文件系统上的文件需要一个操作系统上的身份,系统用户的权限为虚拟账户的上限。可以对虚拟账户进行分别权限设置
    映射的系统账户设置
    创建用户即家目录
    useradd -d /var/ftproot -s /sbin/nologin ftproot
    chmod +rw /var/ftproot/
    设置权限
    在家目录下创建对应的虚拟用户的目录
    chmod -w /var/ftproot
    mkdir /var/ftproot/upload
    setfacl -m u:ftproot:rwx /var/ftproot/upload
    设置虚拟账户的信息
    基于文件的认证
    将账户信息保存在文本文件中,文本文件格式
    奇数行填账户,偶数行填密码
    将文本转化为数据库的二进制格式
    db_load -T -t hash -f 文本文件 生成的数据库文件
    设置pam模块配置,使之适用于基于本地二进制文件的验证方式
    需要使用到/usr/lib64/security/pam_userdb.so模块
    创建配置文件,并编辑
    vim /etc/pam.d/vsftpd.db
    auth required pam_userdb.so db=/etc/vsftpd/ftproot (生成的二进制文件名称)
    account required pam_userdb.so db=/etc/vsftpd/ftproot (生成的二进制文件名称)
    配置vsftpd的配置,指明进行验证的pam模块配置
    编辑ftp配置文件文件
    /etc/vsdtpd/vsftpd.conf
    指定进行pam认证时使用的PAM配置文件
    pam_service_name=vsftpd.db
    设置虚拟账号与系统账户间的映射
    guest_enable=YES
    guest_username=ftproot
    设置登录的用户映射成系统用户,映射为非系统的账户登录才被映射为指定账户
    对每个虚拟账户进行相对的权限划分
    用户的配置信息会保存到指定的文件夹中,该文件夹在vsftpd中进行声明
    用户的配置文件,每个虚拟用户为单独的一份配置文件,以虚拟用户名称进行命名。
    更改配置文件,进行虚拟账户配置文件指明
    更改/etc/vsftpd/vsftpd.conf的配置信息:
    user_config_dir=配置文件夹的路径
    创建虚拟用户的配置文件
    vim 配置文件夹的路径/用户名
    配置独立的配置文件,及每个用户使用单独的配置文件,每个文件中可以进行如下配置。
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    local_root=/ftproot
    将账户信息保存在数据库文件中
    PAM连接数据库需要使用模块pam_mysql(epel源提供)
    安装模块
    centos6 :
    配置epel源
    yum install pam_mysql
    centos7 :
    7中并没有提供该模块的rpmbao所以需要进行手动编译安装.
    下载安装
    安装开发工具
    yum groupinstall Development Tools
    安装mariadb ,pam 开发包
    yum -y install mariadb-devel pam-devel
    进行编译
    ./configure –with-mysql=/usr –with-pam=/usr –with-pam-mods-dir=/lib64/security
    安装
    make &&make install
    创建数据库,以及对应管理数据库的账户
    创建数据库
    create databases ftpdb;
    创建用户并向用户赋予权限
    grant all on ftpdb.* to ftpuser@’172.16.%.%’ indentified by ‘jinbus’;
    创建表结构
    create table ftpusers (id int unsigned auto_increment primary key,name char(30) ,passwd char(48));
    向表中添加数据
    insert into ftpusers (name,passwd) values (‘ftp1’,password(‘haha’)) ,(‘ftp2’,password(‘hehe’));
    设置ftp的pam认证
    另外创建一个用于pam验证的配置文件,在/etc/pam.d/文件夹下
    在创建的pam验证文件中写入验证规则
    auth required pam_mysql.so user=数据库用户名称 passwd=用户密码 host=数据库主机地址 db=数据库名称 teble=表名称 usercolumn=表中保存虚拟用户名称的列 passwdcolumn=表中保存虚拟用户密码的列 crypt=2 (2为mysql加密)
    crypt 值:
    0 不加密
    1 表crypt(3)加密
    2 表示mysql password () 函数加密
    3 表示MD5加密
    4 表示sha1加密
    详细配置
    auth 表示认证
    account 验证账号密码正常使用
    required 表示认证要通过
    pam_mysql.so模块是默认的相对路径,是相对/lib64/security/路径而言,也可以写绝对路径;后面为给此模块传递的参数
    user=vsftpd为登录mysql的用户
    passwd=magedu 登录mysql的的密码
    host=mysqlserver mysql服务器的主机名或ip地址
    db=vsftpd 指定连接msyql的数据库名称
    table=users 指定连接数据库中的表名
    usercolumn=name 当做用户名的字段
    passwdcolumn=password 当做用户名字段的密码
    crypt=2 密码的加密方式为mysql password()函数加密
    更改ftp的配置文件,将pam的验证策略指向为刚才创建的文件
    pam_service_name=验证文件路径
    映射虚拟账号至系统账户
    guest_enable=YES
    guest_username=映射为的系统账户
    对每个虚拟账户进行相对的权限划分
    用户的配置信息会保存到指定的文件夹中,该文件夹在vsftpd中进行声明
    用户的配置文件,每个虚拟用户为单独的一份配置文件,以虚拟用户名称进行命名。
    更改配置文件,进行虚拟账户配置文件指明
    更改/etc/vsftpd/vsftpd.conf的配置信息:
    user_config_dir=配置文件夹的路径
    创建虚拟用户的配置文件
    vim 配置文件夹的路径/用户名
    配置独立的配置文件,即每个用户使用单独的一个配置文件
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    local_root=/ftproot

    展开全文
  • 五个最佳FTP客户端工具

    万次阅读 2016-06-14 23:58:46
    原文链接:http://www.williamlong.info/archives/1594.html概述无论你是做网站工作,还是运行一个家庭FTP服务器,或者你只是喜欢高速下载,一个稳定且功能齐全的FTP客户端工具都可以节省你大量时间和生命,现在有...

    原文链接:http://www.williamlong.info/archives/1594.html

    概述

    无论你是做网站工作,还是运行一个家庭FTP服务器,或者你只是喜欢高速下载,一个稳定且功能齐全的FTP客户端工具都可以节省你大量时间和生命,现在有大量的免费或者收费的FTP客户端软件供大家选择,这里总结了五个流行的FTP客户端软件。

    IIS7服务器管理工具 (Windows)

    作为ftp客户端,iis7服务器管理工具不仅可以批量管理ftp站点,自定义传输模式,线程,编码。还支持ftp定时上传、定时下载,自动更新等功能。极大的提高了工作效率。

    除此之外,它还可以批量管理以下系统:
    1、win系列的操作系统(含VPS、VM)
    2、linux操作系统:CentOS、Ubuntu、Debian等,支持命令及可视化SFTP管理
    3、linux的vnc、win的vnc
    4、FTP,webshell

    ※下载地址:http://fwqglgj.iis7.net/cp/ftp/?tscc-zc
    在这里插入图片描述
    在这里插入图片描述

    FileZilla (所有平台)

    这里写图片描述

    FileZilla

    FileZilla是一个免费开源的适合Windows、Mac和Linux的FTP客户端软件,因为其实免费跨平台和易用性,因此它是很多FTP用户的最初选择,FileZilla下载速度非常快,功能齐全,如果你是Windows用户,你甚至还能利用它搭建一个家庭FTP服务器。

    WinSCP (Windows)

    这里写图片描述

    WinSCP

    WinSCP是一个免费开源的FTP客户端,同时支持SFTP和SCP协议,WinSCP是快速轻量级的FTP客户端,还支持一些高级功能,例如远程文字编辑。当你打开一个FTP服务器上的纯文本文件,在保存文件的时候会透明的保存和上传到远程服务器。

    Transmit (Mac OS X)

    这里写图片描述
    Transmit

    Transmit是一个30美元价格的共享软件,它覆盖了几乎所有的常用功能,包括远程文件编辑和文件夹同步,尽管其有30美元的价格,很多Windows用户也希望Transmit能出一个Win版的。

    FireFTP (所有平台与Firefox)

    这里写图片描述

    FireFTP

    FireFTP是一个Firefox扩展,能直接集成一个强大的FTP客户端到我们最喜爱的浏览器Firefox上。FireFTP不是客户端功能丰富的那一种,但如果你只需要一个家但的FTP客户端或者偶尔上传和下载,那么FireFTP就能胜任这个工作,你甚至不需要安装一个单独的FTP客户端程序,它所有的一切都集成到Firefox中了。

    Cyberduck (Mac OS X)

    这里写图片描述
    Cyberduck

    Cyberduck是一个基于Mac OS X的免费开源的FTP客户端工具,它支持快速查找、远程文本编辑等功能,Mac用户如果对FileZilla不满意,但又不想花钱的话,可以尝试一个这个。

    英文原文:Five Best FTP Clients
    中文翻译:William Long
    中文译文:五个最佳FTP客户端工具

    展开全文
  • Ubuntu16.04 ftp服务器安装+配置

    万次阅读 热门讨论 2019-01-07 09:34:49
    于是就需要自己搭建一个FTP服务。   ftp服务器安装与配置 1. ftp服务端的安装 如果之前配置过ftp服务器的还是之后配置的服务器,无法启动服务,那么基本是配置出现了错误,那么可先完全卸载后再进行安装。...

    最近在配置百度云服务器和阿里云服务器,需要把本地的代码和资料上传到服务器,运行测试。

    于是就需要自己搭建一个FTP服务。

     

    ftp服务器安装与配置


    1. ftp服务端的安装
    

    如果之前配置过ftp服务器的还是之后配置的服务器,无法启动服务,那么基本是配置出现了错误,那么可先完全卸载后再进行安装。如果无法定位多半是镜像源的问题,请更换阿里源。

    sudo apt-get update 
    sudo apt-get install vsftpd
    vsftpd --version     //检测是否安装
    2. ftp服务端的配置
    
     vim /etc/vsftpd.conf    //编辑配置文件

    修改vsftpd.conf文件如下:

    listen=NO                 //是否开启监听ipv4和ipv6数据      
    listen_ipv6=YES          //是否开启监听ipv6数据
    
    # Allow anonymous FTP? (Disabled by default).
    anonymous_enable=NO      //是否允许匿名登陆,无需密码
    
    # Uncomment this to allow local users to log in.
    local_enable=YES        //是否允许本地用户登录
    
    # Uncomment this to enable any form of FTP write command.
    write_enable=YES        //是否允许登陆者上传文件
    
    # Default umask for local users is 077. You may wish to change this to 022,
    # if your users expect that (022 is used by most other ftpd's)
    local_umask=022         //设置本地用户默认要减免的权限
    
    # Activate directory messages - messages given to remote users when they
    # go into a certain directory.
    dirmessage_enable=YES       //目录消息,能够给远程登陆的用户发送目录
    #
    # If enabled, vsftpd will display directory listings with the time
    # in  your  local  time  zone.  The default is to display GMT. The
    # times returned by the MDTM FTP command are also affected by this
    # option.
    use_localtime=YES           //服务器所展示的目录将随着本地时间而改变
    #
    # Activate logging of uploads/downloads.
    xferlog_enable=YES          //开启上传下载的日志记录
    #
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    connect_from_port_20=YES    //确认连接传输的端口号为20
    
    # You may override where the log file goes if you like. The default is shown
    # below.
    xferlog_file=/var/log/vsftpd.log    //日志文件存放位置
    #
    # If you want, you can have your log file in standard ftpd xferlog format.
    # Note that the default log file location is /var/log/xferlog in this case.
    xferlog_std_format=YES          //日志文件采用标准格式
    
    
    # You may fully customise the login banner string:
    ftpd_banner=Welcome to FTP service.  //在使用shell时登陆那么会发送欢迎语
    
    
    # You may specify an explicit list of local users to chroot() to their home
    # directory. If chroot_local_user is YES, then this list becomes a list of
    # users to NOT chroot().
    # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
    # the user does not have write access to the top level directory within the
    # chroot)
    chroot_local_user=YES        //对本地用户是否实施限制
    chroot_list_enable=YES       //开启限制白名单
    # (default follows)         
    chroot_list_file=/etc/vsftpd.chroot_list        //白名单路径,若无这个文件需要自己创建
    
    # This option should be the name of a directory which is empty.  Also, the
    # directory should not be writable by the ftp user. This directory is used
    # as a secure chroot() jail at times vsftpd does not require filesystem
    # access.
    secure_chroot_dir=/var/run/vsftpd/empty
    #
    # This string is the name of the PAM service vsftpd will use.
    # pam_service_name=vsftpd
    pam_service_name=ftp            //此处ubuntu的系统需要改为ftp
    
    # This option specifies the location of the RSA certificate to use for SSL
    # encrypted connections.
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    ssl_enable=NO                 
    
    #
    # Uncomment this to indicate that vsftpd use a utf8 filesystem.
    utf8_filesystem=YES       //编码统一为utf8编码,可以识别中文,防止乱码
     3. vftpd配置完成
    

    添加设置ftpuser用户和访问目录


     1. 创建ftp用户组和用户
    
    sudo groupadd ftpusers //创建ftpusers用户组
    sudo useradd -m ftpuser_lxr//创建一个用户并且自动创建家目录为/home/ftpuser_lxr
    (第二种方式:mkdir /home/ftpuser_lxr //先创建家目录sudo userad -d /home/ftpuser_lxr ftpuser_lxr //绑定这个家目录)
    usermod -G ftpusers ftpuser_lxr //将这个新用户加入到ftpusers用户组中
    sudo passwd ftpuser_lxr   //更改密码
    mkdir /home/ftpuser_lxr/ftp  //为用户添加一个具有一定权限的文件夹
    chmod 777 -R /home/ftpuser_lxr/ftp //新建一个pub目录用于存放文件,并且赋予全部权限
    usermod -s /sbin/nologin username  //限制用户登录方式;限制用户username只能通过ftp登陆,而不能直接登陆服务器
    2.将该用户加入vsftpd.chroot_list白名单中
    
    mkdir /etc/vsftpd.chroot_list
    vim vsftpd.chroot_list

    该文件内容如下:

    #白名单
    ftpuser_lxr
    3.开启并重启vsftpd的服务
    

    systemctl start vsftpd或者service vsftpd start 
    systemctl restart vsftpd或者service vsftpd restart


    测试

    方法一:

    打开浏览器,在地址栏输入:ftp://ip_addresss
    

    方法二:

     在ubuntu中使用shell输入:ftp ip_address
    

    方法三:

     在windows中在文件管理器地址栏输入:ftp://ip_addresss,该方式可以上传下载文件
    

    方法四:

     在windows中使用cmd输入:ftp://ip_addresss //显示连接成功

     

     

     

    展开全文
  • 17个好用免费的ftp软件工具推荐,支持中文版 ftp软件有很多,支持中文版的免费ftp软件也有很多。 1、FileZilla(官网:https://filezilla-project.org/) FileZilla是一个免费开源的FTP软件,分为客户端版本和...

    17个好用免费的ftp软件工具推荐,支持中文版

    ftp软件有很多,支持中文版的免费ftp软件也有很多。

    1、重点推荐:FTP客户端—IIs7服务器管理工具(官网:http://fwqglgj.iis7.net/cp/ftp/?ccxc

    作为ftp客户端,iis7服务器管理工具不仅可以批量管理ftp站点,自定义传输模式,线程,编码。还支持ftp定时上传、定时下载,自动更新等功能。极大的提高了工作效率。

    除此之外,它还可以批量管理以下系统:
    1、win系列的操作系统(含VPS、VM)
    2、linux操作系统:CentOS、Ubuntu、Debian等,支持命令可视化SFTP管理
    3、linux的vnc、win的vnc
    4、FTP,webshell

    ※下载地址:http://fwqglgj.iis7.net/cp/ftp/?ccxc

     

    ※下载地址:http://fwqglgj.iis7.net/cp/ftp/?ccxc

    2、FileZilla 

    FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。

    FileZilla是一快速、可信赖的FTP客户端以及服务器端开放源代码程式,具有多种特色、直接的接口。FileZilla在2002年11月获选为当月最佳推荐专案。

    3、WinSCP (官网:https://winscp.net/eng/docs/lang:chs

    WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。.winscp也可以链接其他系统,比如linux系统。

    4、FireFTP(官网:http://fireftp.net/

    这是一个火狐的插件,必须在火狐Mozilla Firefox浏览器上面才能使用。

    FireFTP是出品 LiteServe/LiteWeb/LiteFTP 等工具的公司新出的又一个简单小巧且容易上手的 FTP 客户端工具,支持多线程文件传输。

    5、xFTP(官网:http://www.netsarang.com/products/xfp_overview.html

    Xftp是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲地功能特性。

    6、8UFTP

    8UFTP分为8UFTP客户端工具和 8UFTP智能扩展服务端工具,涵盖其它FTP工具所有的功能。不占内存,体积小,多线程,支持在线解压缩。界面友好,操作简单,可以管理多个ftp站点,使用拖拉即可完成文件或文件夹的上传下载。智能升级检查,免费升级。建议同时安装8UFTP客户端和8UFTP智能扩展服务端工具。

    7、CuteFTP (官网:https://www.globalscape.com/cuteftp

    CuteFTP,FTP工具之一,与LeapFTP与FlashFXP并称 FTP 三剑客。其传输速度比较快,但有时对于一些教育网FTP 站点却无法连接;速度稳定,能够连接绝大多数 FTP 站点(包括一些教育网站点);CuteFTP 虽然相对来说比较庞大,但其自带了许多免费的 FTP 站点,资源丰富。

    8、FTPRush(官网:http://www.wftpserver.com/ftprush.htm

    特点:完全免费,功能多,可媲美FileZilla,而且不容易掉线。

    9、Monsta FTP(官网:https://www.monstaftp.com/

    这是一个web软件,Monsta FTP是一个开源的PHP / Ajax云端软件,可以在任何地方,任何时间,在您的浏览器中提供FTP文件管理。 您可以将文件拖放到浏览器中并观看他们上传。

    它支持屏幕上的文件编辑。 还有多语言支持。

    它已在Chrome,Firefox,Internet Explorer和Safari上测试通过。

    它是在GNU通用公共许可证下发布的。

    您可以免费下载并安装在自己的服务器上。

    10、Cyberduck(官网:https://cyberduck.io/

    Cyberduck是开放源代码的FTP及SFTP软件,基于GPL授权,拥有简单的操作界面,支持WebDAV 和 Amazon S3 浏览与文件的传输等。专为Mac打造的Cyberduck整合了 OS X系统的一些功能,例如Spotlight, Bonjour, QuickLook(3.0版本才支持) 和 Keychain(钥匙串)等。

    支持Mac和Windows系统。

    Cyberduck 是一款经典免费的单栏视图 Mac FTP 客户端,拥有死忠用户 N 多。而现在官网上给 Cyberduck 的定位是: Cyberduck 是一款 Mac 平台上自由、开源的 FTP, SFTP, WebDAV, 云文件, Google Docs 和 Amazon S3 浏览器。CyberDuck容许同时打开多个窗口,于是可同时连到多个服务器工作。当然也附书签,支持运行publicfile(FTP)服务器的EPFL文件列表。

    11、SmartFTP(官网:https://www.smartftp.com/

    SmartFtp 是一套以 IE 及资源管理器的概念、简易操作的传输程序,可用来做Local 端的文件管理,对于 FTP 站更如同资源管理器般的操作方式,支持鼠标右键的各项快捷功能,且对于站台更以 IE 的“收藏夹”方式来管理,支持同时登陆多个站台。另有一项强悍的功能:可使用 FTP Search 来搜寻文件,而直接开启站台下载。界面方面:提供浮动式功能键、支持多窗口排列、更可更改文字颜色及标题列渐进色彩,动作上也可有声音的提示功能。

    12、Classic FTP(官网:http://www.nchsoftware.com/classic/index.html

    Classic FTP是一款小巧免费的FTP客户端,它允许你上传、下载和删除远程服务器上的文件,该程序的设计外观和感觉像一个传统的FTP客户端。

    它具有一个“镜像和上传”工具来扫描选定的本地文件夹和上传任何所选的远程文件夹不存在的文件。

    它也可以用来同步本地文件夹和远程文件夹导航,减少上传到错误的文件夹的危险。

    Classic FTP支持通过互联网,局域网和外部硬盘驱动器的文件传输协议。

    13、Transmit(官网:https://www.panic.com/transmit/

    Transmit for mac是一款功能齐全Mac用户必备的FTP客户端。其兼容于FTP,SFTP和TLS/SSL协议,提供比Finder更加迅速的iDisk账户接入。与此同时,用户还可以通过Transmit在任意应用程序中无须下载即可实时编辑文档,方便简洁,一步到位。

    14、OneButton FTP

    OneButton FTP无需任何费用; 它是完全免费的。 它包含英语,法语,德语,意大利语,日语,西班牙语和瑞典语的本地化。 它支持未加密的FTP和FTP over SSL传输。

    OneButton FTP是用于Mac OS X的图形FTP客户端,强调简单性,支持拖放和文件排队。 它允许您轻松地从远程服务器传输文件,只需将文件拖放到计算机中。

    15、gFTP (官网:https://www.gftp.org/

    gFTP是Linux系统下的一个多线程的FTP客户端,用GTK+编写。它支持多个线程同时下载,支持断点续传,支持FTP、HTTP和SSH协议,支持FTP和HTTP代理,可以下载整个目录,支持文件队列,支持缓存,支持拖拽操作,有一个很好的下载链接管理器。

    16、Tftpd32(官网:http://tftpd32.jounin.net/

    Tftpd32是一个集成DHCP, TFTP, SNTP和Syslog多种服务的袖珍网络服务器包,同时提供TFTP客户端应用,支持tsize, blocksize 和 timeout等等。

    17、Home FTP

    《Home Ftp Server》是一款简单易用的免费ftp软件,可以让你的朋友共享ftp服务器上的资料。

    它可以为用户提供单独的虚拟目录,实时监测在线用户,使用浏览器模式管理ftp服务器。

    当然,如果你觉得免费的功能可能不太全面,还有其他的收费或共享ftp软件也可以尝试下,比如SecureCRT、FlashFXP、LeapFTP等等。

    展开全文
  • 主动FTP和被动FTP

    千人学习 2016-07-29 22:48:01
    FTP分类 主动FTP 被动FTP 实验 总结
  • JAVA ftp listfiles 出错

    2016-06-12 08:50:40
    import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; public class _1 { FTPClient ftp=null; public _1(){ try { ftp=new FTPClient(); ...
  • ftp 500 Illegal EPRT command

    2013-12-23 08:02:17
    suse linux ftp访问远程服务器登入后 pwd,cd之类的命令可以执行,ls,dir,get等命令就会出现以下问题。 ftp> ls 229 Entering Extended Passive Mode (|||61016|) 500 Illegal EPRT command 500 Illegal PORT...
  • ubuntu14.04 安装VSFTPD,可以FTP下载但是FTP上传时报“550 Permission denied.”恳请各位大神求助 ================================================== 我把FTP主目录文件夹的权限都设置成777了,但还是不能上传...
  • Win10开启FTP与配置(完整无错版)

    万次阅读 多人点赞 2018-01-30 20:46:16
    右击网站添加FTP站点 输入站点名称和作为FTP的目录 IP地址填FTP本机IP选择无SSL 根据需要选择身份验证授权与权限 控制面板系统和安全防火墙允许应用或功能通过Window防火墙 点击更改设置勾选FTP服务器专用公用 ...
  • FTP常见命令详解

    万次阅读 多人点赞 2018-08-28 14:55:25
    在window下按window + r可打开DOS命令窗口,然后就可以输入FTP命令了。 1. 登录FTP服务器 方法一:直接输入ftp加ip地址ftp 192.168.10.xxx 方法二:直接输入ftp,进入ftp服务后输入open加ip地址open 192.168.10...
  • 第一步 把手机和计算机连接到同一个局域网中(通过WiFi、数据线等)才能进行下面的操作。(本次操作通过wifi连接) 第二步: 查看手机的IP地址 ...打开DOS命令窗口,输入 ping 172.20.10.1...
  • 使用ftp软件flashfxp、fileZilla 修改为被动模式、主动模式都无法连接 服务器防火墙关了,开放了所有端口的入站规则和出站规则 阿里云安全组规则也添加了 21 udp tcp cmd telnet ip 21 可以显示windows ftp ...
  • string ftpPath = "ftp://192.168.1.10/Pictures/201684/2016.jpg"; FtpWebRequest reqFTP; // 根据uri创建FtpWebRequest对象 reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath)); // 指定...
  • string ftpUrl = "ftp://a.png"; reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpUrl)); reqFTP.Method = WebRequestMethods.Ftp.DownloadFile; reqFTP.UseBinary = true; reqFTP.Credentials = new...
  •  drw-rw-rw- 1 ftp ftp 0 Aug 09 09:55 .  drw-rw-rw- 1 ftp ftp 0 Aug 09 09:55 ..  drw-rw-rw- 1 ftp ftp 0 Aug 08 17:10 attachment  drw-rw-rw- 1 ftp ftp 0 Aug 09 09:54 test 什么意思啊
  • Linux安装ftp组件

    万次阅读 2017-09-03 22:32:06
    1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf...2 添加一个ftp用户 此用户就是用来登录ftp服务器用的。 [root@bogon ~]# useradd ftpuser 这样一个用户建完,可以用这个登录,记得用普通登录不要用匿
  • // 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 ftp.connect(hostName, port); reply = ftp.getReplyCode(); /* * 判断是否连接成功 */ if (!FTPReply....
  • Ubuntu配置ftp

    万次阅读 2018-03-07 17:14:49
    一直都想学习Linux,但是由于各种原因,耽搁至今。最近有点时间,所幸就走进了Linux的世界。本文是学习Linux的第一篇。记录自己的学习之路。回到主题,请开始你的表演! 一、准备。 我们都知道,要学习Linux,...
  • Java使用Apache FtpServer实现嵌入式FTP服务器

    万次阅读 热门讨论 2014-02-24 10:31:00
    Apache FtpServer是一个纯Java实现的FTP服务器,基于大名鼎鼎的网络框架apache MINA实现。它既可以作为一个完整的FTP服务器单独使用,也可以在Java程序中调用,类似于Jetty可以作为嵌入式的HTTP服务器。
  • ftp笔记

    万次阅读 2020-09-02 17:43:56
    【1】centos6搭建ftp服务 【2】Ubuntu中搭建ftp服务 【3】配置文件说明 【4】ftp客户端 【5】常见错误 【6】用户权限控制 【7】添加vsFTPd用户和设置权限 【1】centos6搭建ftp服务 Linux-ftp服务搭建 1.安装 vsftpd...
  • FTP-Web端如何直接访问FTP资源

    万次阅读 2018-03-02 14:45:30
    FTP-Web端如何直接访问FTP资源 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:12951803 环境: FTP服务端版本:FileZilla Server 0.9.46 1.采用完整URL的形式访问 ftp...
  • 什么是ftp

    千次阅读 多人点赞 2018-11-28 11:28:43
    FTP是什么?  其实通俗的说FTP是一种数据传输协议,负责将我们电脑上的数据与服务器数据进行交换,比如我们要将在我们电脑中制作的网站程序传到服务器上就需要使用FTP工具,将数据从电脑传送到服务器。专业的说,...
  • iOS ftp上传

    千次阅读 热门讨论 2013-10-08 21:46:54
    本文主要讲诉了iOS 端使用ftp上传图片以及文件的方法。 网络上大多数的文件的上传都是通过ASIHttpRequest库以form表单的形式完成的,比较简单,代码逻辑也比较清晰,在此笔者 就不赘述了。而今天要跟大家分享的是在...
  •  reqFTP.Credentials = new NetworkCredential(_ftpUserId, _ftpPassword);  reqFTP.KeepAlive = false;  reqFTP.Method = WebRequestMethods.Ftp.RemoveDirectory;  FtpWebResponse response = (FtpWebResponse...
  • FTP服务器搭建详细步骤

    万次阅读 多人点赞 2019-01-16 10:19:18
    FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地...
  • 今天重装系统后,连接公司的ftp服务器结果连接不上去了提示![图片说明](https://img-ask.csdn.net/upload/201808/20/1534746200_243690.png) 首先要说明的是,这个ftp是可用的,在同一网络,我同事的电脑上是可以...
  • FTPFile[] fs = ftp.listFiles();//到这里的时候总是报 //org.eclipse.debug.core.DebugException: //com.sun.jdi.ClassNotLoadedException: //Type has not been loaded occurred while retrieving ...
  • FTP OPEN没有反应??

    2016-11-23 02:25:24
    今天在cmd里面用ftp open一个地址没有反应,怎么弄![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/9.gif)![图片说明]...
  • 宝塔Linux面板在使用sftp用最高权限连接时一切正常,但是使用在宝塔里面创建的ftp的账号密码,就无法登陆,相信大家遇到过这样的问题。遇到这样的问题,需要修改一些配置。 第一步:进入宝塔Linux面板中的软件管理...
  • IIS下搭建FTP服务器

    万次阅读 2015-11-24 21:46:12
    环境:Windows Server 2008 R2...在安装IIS时顺便就把FTP的全部勾选上! 安装IIS/FTP角色 打开服务器管理器,找到添加角色,然后点击,弹出添加角色对话框,选择下一步: 在IIS中查看,如果能够右键创建FT...

空空如也

1 2 3 4 5 ... 20
收藏数 137,213
精华内容 54,885
关键字:

ftp