首先在linux服务器上安装ftp

[root@host2 test]# yum -y install ftp vsftpd
[root@host2 test]# service vsftpd start
[root@host2 test]# chkconfig vsftpd --list
[root@host2 test]# /etc/init.d/iptables stop
[root@host2 test]# ftp 192.168.0.142      #自己本机地址
Connected to 192.168.0.142 (192.168.0.142).
220 (vsFTPd 2.2.2)
Name (192.168.0.142:root): ftp      #用户名:ftp
331 Please specify the password.  
Password:                       #密码为空
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> put /root/test/test.txt           
local: /root/test/test.txt remote: /root/test/test.txt
227 Entering Passive Mode (192,168,0,142,140,140).
550 Permission denied.
ftp> quit
221 Goodbye.

  直接安装起服务,使用匿名登录后,上传文件会提示拒绝访问,这时我们需要修改一些文件

[root@host2 test]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
…………
[root@host2 test]# setsebool -P allow_ftpd_anon_write 1 //-P是永久保存生效
[root@host2 test]# setsebool -P allow_ftpd_full_access 1
[root@host2 test]# setsebool -P ftp_home_dir 1
[root@host2 test]# getsebool -a | grep ftp
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
…………
[root@host2 ]# vim /etc/vsftpd/vsftpd.conf //修改配置参数
anon_mkdir_write_enable=YES //匿名可创建目录
anon_other_write_enable=YES //匿名删除,重命名
anon_upload_enable=YES //匿名用户是否可以上传文件
[root@host2 ]#service vsftpd restart
[root@host2 ftp]#cd /var/ftp
[root@host2 ftp]mkdir ftp_test
[root@host2 ftp]chown ftp:root ftp_test //修改用户属主

然后就可以测试了~~

在我的电脑地址栏输入:ftp://192.168.0.142/ftp_test/

匿名新建文件上传文件,重命名和删除都可以了

如果出现550的报错,代表的是服务端的权限设置有问题,553的话就是配置文件有问题

附录:/etc/vsftpd/vsftpd.conf配置参数

重点字段意义:     anonymous_enable=YES         #开启匿名共享

local_enable=YES              #开启本地账户共享

write_enable=YES              #本地账户是否可写

anon_upload_enable=YES   #匿名用户是否可以上传文件

anon_mkdir_write_enable=YES   #匿名可创建目录

anon_other_write_enable=YES    #匿名删除,重命名

chroot_local_user               #禁锢本地账户

anon_root=/abc          #定义匿名用户根目录为/abc目录

anon_umask=022          #定义匿名用户上传的掩码值

listen_address=192.168.0.5  #定义监听地址为192.168.0.5

listen_port=端口号

listen_address=IP地址

max_clients=最大并发连接数

max_per_ip=同一IP地址的最大并发连接数

anon_max_rate=匿名用户访问速度(字节/秒)

local_max_rate=本地用户访问速度(字节/秒)

       在字段userlist_enable=YES或NO  //是否开启user_list文件

       在字段userlist_deny=NO时user_list是白名单

       /etc/vsftpd/ftpusers(黑名单)

        /etc/vsftpd/user_list(黑/白名单)

默认的vsftpd服务:

允许匿名FTP访问,只能下载不能上传 【/var/ftp/】

允许本地用户FTP访问,既可以下载,也可以上传 【~用户名】

使用windows桌面ftp上传文件到linux服务器的更多相关文章

  1. SpringBoot 上传文件到linux服务器 异常java.io.FileNotFoundException: /tmp/tomcat.50898……解决方案

    SpringBoot 上传文件到linux服务器报错java.io.FileNotFoundException: /tmp/tomcat.50898-- 报错原因: 解决方法 java.io.IOEx ...

  2. java使用JSCH连接FTP(Linux服务器)上传文件到Linux服务器

    首先需要用到jsch-0.1.54.jar 包: 链接: https://pan.baidu.com/s/1kZR6MqwpCYht9Pp_D6NKQw 密码: gywx 直接上代码: package ...

  3. MacOS 系统终端上传文件到 linux 服务器

    使用scp: scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速 ...

  4. root账号无法上传文件到Linux服务器

    普通权限的账号,通过ftp工具,可以正常连上Linux服务器,可以正常上传文件.但是root账号却无法上传文件. 网上搜了半天才知道,默认情况下vsftp是不允许root用户登录的,可以通过修改限制来 ...

  5. 用sftp上传文件至linux服务器

    1.项目环境 框架:springmvc    项目管理工具:maven 2.必须使用的jar com.jcraft jsch 0.1.27 test 3.新建一个FileUpDown工具类,在类中添加 ...

  6. XShell上传文件到Linux服务器上

    在学习Linux过程中,我们常常需要将本地文件上传到Linux主机上,这里简单记录下使用Xsheel工具进行文件传输 1:首先连接上一台Linux主机 2:输入rz命令,看是否已经安装了lrzsz,如 ...

  7. Mac上传文件到Linux服务器

    1. 打开 终端,选择 2.选择安全文件传输,输入连接主机IP 3.输入主机名 4.输入yes,然后输入主机密码,按回车结束 确认连接 输入远程主机密码 5.连接成功,上传文件 put 本地文件路径 ...

  8. windows 上传文件到 Linux 服务器

    方法一: pscp E:\javaWP\new11111.txt username@130.75.7.156:/home/

  9. windows下sublime通过sftp扩展上传文件到linux服务器上

    首先在package controll下载sftp扩展,在任意磁盘下新建文件夹: 然后,添加该文件夹到sublime中,并在xhell中链接linux服务器,新建目录,mkdir  /home/hel ...

随机推荐

  1. 使用Docker分分钟启动常用应用

    前言 Docker是目前比较火的一个概念,同时也是微服务中比较关键的一个容器化技术.但是,单从理论上好难看出Docker的优势,因此,我希望在这篇文章中提供一些Docker的使用示例,希望从实际应用上 ...

  2. SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除临时表(drop table #tableName)吗?

    本文出处:http://www.cnblogs.com/wy123/p/6704619.html 问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表,有些人习惯在存储过程结束的时 ...

  3. 优化php性能的一点总结

    图示为100个并发,请求1000次目标地址 进行测试 最重要的两个参数:Requests per second :每秒接受请求数,这里每秒接收101个请求 Time per request:一个请求用 ...

  4. [.NET产品源码保护].NET防止反编译(非混淆加密)

    .NET产品源码保护产生的背景: .NET源码加密方案支持C#及VB.NET等语言开发的ASP.NET及WINFORM应用.利用.NET支持托管代码与非托管代码共存的特性,将C#代码经过处理放于非托管 ...

  5. Linux - PCB之task_struct结构体

     task_struct结构描述  1. 进程状态(State) 进程执行时,它会根据具体情况改变状态 .进程状态是调度和对换的依据.Linux中的进程主要有如下状态,如表4.1所示. 内核表示 含义 ...

  6. Extjs6组件——Form大家族成员介绍

    本文基于ext-6.0.0 一.xtype form一共有12种xtype,下面来一一举例说一下. 1.textfield 这个是用的最多的form之一. { xtype: 'textfield', ...

  7. Vuex(二)——关于store

    一.总览 Vuex 应用的核心就是 store(仓库). "store" 包含着应用中大部分的状态(state). 二.Vuex 和单纯全局对象的不同 Vuex 的状态存储是响应式 ...

  8. xmlplus 组件设计系列之一 - 图标

    网页上使用的图标分可为三种:文件图标.字体图标和 SVG 图标.对于文件图标,下面仅以 PNG 格式来说明. PNG 图标 对于 PNG 图标的引用,有两种方式.一种是直接由 HTML 元素 img ...

  9. Andriod中自定义Dialog样式的Activity点击空白处隐藏软件盘(Dialog不消失)

    一.需求触发场景: 项目中需要出发带有EditText的Dialog显示,要求在编辑完EditText时,点击Dilog的空白处隐藏软键盘.但是Dialog不会消失.示例如下: 二.实现方法: 发布需 ...

  10. split()方法

    split()方法用于把一个字符串分隔成字符串数组. 它有两个参数: separator:从参数指定的地方分隔字符串,必需: howmany:该参数可指定返回的数组的最大长度.如果设置了该参数,返回的 ...