首先在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 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 ftpd_connect_db --> off ftpd_use_fusefs --> off ftpd_use_passive_mode --> off httpd_enable_ftp_server --> off tftp_anon_write --> off tftp_use_cifs --> off tftp_use_nfs --> 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]# !get 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 ftpd_connect_db --> off ftpd_use_fusefs --> off ftpd_use_passive_mode --> off httpd_enable_ftp_server --> off tftp_anon_write --> off tftp_use_cifs --> off tftp_use_nfs --> off [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 //修改用户属主
然后就可以测试了~~
匿名新建文件,重命名和删除都可以了
如果出现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访问,既可以下载,也可以上传 【~用户名】
问题内容: 我创建了一个从有权访问的FTP服务器下载文件的功能。如何将文件上传回FTP服务器? 以下是我使用的download_files方法: 问题答案: 使用Apache Commons Net库中的FTPClient类。 这是一个带有示例的代码段: 摘录自http://www.kodejava.org/examples/356.html
问题内容: 在我的项目中,我具有文件上传功能。文件通过FTP上传。我需要配置一个侦听器,该侦听器将检查新文件并仅在文件上传完成后才调用脚本。因为如果我在检测到新文件后立即运行此脚本,它将开始处理未完全上载的文件,这将导致错误。谁能说出这在LINUX上是否可行,我该怎么做? 问题答案: 我会尝试使用inotify,事件代码为IN_CLOSE_WRITE。
我尝试了以下代码: 上述代码导致如下异常: 请注意: > 由于与远程服务器和linux服务器的连接成功,我尝试使用但它会引发异常。 一旦使用smb连接,我们将无法使用下面的url直接连接到共享路径吗<代码>字符串url=“//remotehost/SharedPath/Comp/NG/” 请注意:我使用jsch库连接到Linux服务器,并且我能够使用sftpChannel成功连接到Linux服务器
问题内容: 以下是我用于将文件上传到服务器的代码。但是,即使经过几次尝试,甚至添加了严格模式,我都遇到了网络异常。 我是Android的新手,不知道如何使用异步任务,许多人建议您使用这种异步网络操作。谁能告诉我代码中哪里有错误以及应该在哪里使用异步任务? 问题答案: 有关更多信息,请参考此链接 http://vikaskanani.wordpress.com/2011/01/29/android-
问题内容: 是否可以使用ajax将文件从浏览器升级到FTP服务器? 问题答案: 不会。浏览器不提供允许从JavaScript写入FTP的API。 您可以将文件发布到HTTP端点,然后使用服务器端代码将其推送到FTP服务器。
最近遇到一个这样的需求:传一个压缩包给后台Linux服务器,后台保存后解压读取里面的文件,现学现做。在这里做个记录。 文件上传 文件上传有很多方法,这里推荐一个自己感觉挺好用的一种,代码奉上: