admin 管理员组

文章数量: 887019

        背景:为了学习的,通常会在Windows上安装虚拟机,然后装上linux系统,大多时候都需要上传一些文件到linux上。但是现在xftp、xshell找个破解的也有点不方便,所以就想着用 FTP的方式直接上传文件。

1. 安装linux系统(本文是 centos7)以后,配置好网络。通过命令直接安装 vsftpd。方便快捷,直接完成安装。

yum install vsftpd

2. 因为只是学习需要,为了很多不必要的麻烦,直接关闭linux 防火墙 和 selinux

#查看防火墙状态
systemctl status firewalld
#关闭/开启防火墙(临时),下次开机又会恢复到修改前状态
systemctl stop/start firewalld  
#关闭/开启防火墙 (永久),修改后需要重启机器
systemctl disable/enable firewalld

#关闭 selinux 
vim /etc/sysconfig/selinux
#修改 selinux 文件,找到 SELINUX=  项,将其修改为 SELINUX=disabled
#重启机器 (需要root权限) (也可以后续配置完后再重启)
reboot 

3.配置完上述以后,需要配置 vsftpd ,配置的文件目录如下,具体的配置看个人喜好,可以自行百度一下,导致包括 是否匿名登陆,什么上传的权限,上传路径之类的,建议都yes,方便操作,尤其是其中的一项  write_enable=YES,如果被注释掉了,一定要打开,否则上传文件则提示 Permission denied. 

vim /etc/vsftpd/vsftpd.conf

#需要注意的是,vsftpd 默认的上传位置是在 /var/ftp/ 这个目录下。如果支持选择支持匿名登陆的
#时候,一定要把上传的目录的权限放开,否则在上传时时会失败的,显示没有权限

4. 如果都重启机器了,那么久可以尝试是否可以上传文件了

#开启服务
service vsftpd start
#重启服务
service vsftpd restart
#关闭服务
service vsftpd stop
#这里当然是需要开启

5. 剩下的就是测试了,在windows 上  win+r  ,输入 cmd , 如果是用 默认的  anonymous 或者 ftp 账户登陆时,pwd 看到的只有  "/"  这个目录,此时这个 "/" 不是代表 linux 的根目录,而是 在配置文件中配置的目录,默认是 /var/ftp/。可以通过vsftpd.conf配置文件中 local_root 项来指定目录,如果原来的配置文件中没有这一项,则在末尾添加上,比如local_root=/var/ftp,后面的/var/ftp 可以随意指定,但是必须要保证linux上有这个目录,如果没有这个目录就要先创建,并且 chmod -R 777 /var/ftp,如果没有目录,或者没有开放权限,上传时(尤其是匿名登陆时)都会提示 Permission denied. 

C:\Users\Kanye>ftp 192.168.227.10
连接到 192.168.227.10。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.227.10:(none)): kanye       #默认支持 anonymous 和 ftp 两个用户。不需要密码
331 Please specify the password.
密码:
230 Login successful.
ftp> pwd                                         # pwd 命令看到目录位置是 /var/ftp
257 "/var/ftp"
ftp> cd pub                                      # cd 到 pub目录因为我只开放了这个目的
250 Directory successfully changed.
ftp> put G:\share\yuanshen.png                   # put 上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 2079514 字节,用时 0.01秒 297073.43千字节/秒。
ftp> bye                                         # bye 和 quit 都是退出命令
221 Goodbye.

6. 最后去 linux 的 /var/ftp/pub/ 目录下,就能看到 上传的文件了

本文标签: 上传文件 vsftpd Windows Linux ftp