文章主要讲了CentOS8如何利用vsftpd搭建一个FTP服务器,而后进行简单的匿名上传/下载与用户上传/下载测试,还有使用了wget测试.linux
yum install -y vsftpd
service httpd start
能够用vim
systemctl list-unit-files | grep vsftpd
查看是否开机启动.显示disabled.浏览器
经过bash
chkconfig vsftpd on
开启自启,再次执行systemctl,能够看到变成了enabled.服务器
sudo vim /etc/vsftpd/vsftpd.conf
首先修改测试
为YES.spa
再添加一行anon_upload_enable=YES3d
第一行的意思是容许匿名登陆,第二行的意思是容许匿名上传.
重启服务.rest
service vsftpd restart
cd /var/ftp/pub sudo vim test
ifconfig获取内网ip,在浏览器中输入ftp://ip.code
能够看到有一个pub文件夹,里面有刚才新建的test文件.
右键保存便可下载文件.
下载完成.
去终端看看.
输入
ftp://username@ip
再输入用户密码.
默认访问的是用户根目录下的文件,这里显示出来了.
下载的话同上,右键选择便可.
首先安装ftp:
sudo yum install ftp
ftp ip
这里用户名选择ftp,密码为空,表示匿名登陆.ftp为默认的匿名登陆用户名,至于密码,能够在/etc/vsftpd/vsftpd.conf中设置一个
no_anon_password=YES
这样匿名用户能够不用密码登陆.
直接使用put命令,后面接上文件,这里的upload.txt是执行ftp以前的所在文件夹下的upload.txt
这里提示不能建立文件,是权限的缘由,要确保/var/ftp/pub对"other"用户有写权限.
默认的/var/ftp/pub的权限是644,修改为647.
sudo chmod 647 /var/ftp/pub
同时修改上传文件的权限,容许other用户可读.
sudo chmod 644 /root/upload.txt
若是不行,使用selinux设置.
getsebool -a | grep ftp
把ftpd_full_access开启:
setsebool ftpd_full_access on
再进入upload.txt所在的文件夹,执行ftp,再次put.
成功!
直接get文件便可,因为上面已经设置好了权限,因此不会出现问题.
若出现权限问题可从三方面入手:
执行ftp时用对应用户名与密码登陆.
默认进入了用户根目录.
直接put便可.
若出现权限问题参照上面7.2.1.2的那三条方法.
随便在用户根目录新建一个文件,这里是kr.
直接get便可.
wget用来下载文件,初始下载的目录与ftp登陆时的目录一致,好比匿名登陆ftp,登陆的是/var/ftp目录,则wget会从这个/var/ftp目录下载文件,下载到执行wget命令所在的目录.使用用户"kr"登陆ftp,则登陆的是/home/kr目录,wget会从/home/kr下载文件.
注意,请确保被下载文件对other用户有可读权限.
sudo chmod o+w xxxxxx
而后使用wget
wget ftp://ip/pub/xxxx
使用--ftp-user,--ftp-password指定用户名与密码,其他同上.
wget ftp://ip/xxx --ftp-user=xxxx --ftp-password=xxxx
成功.
呃....简单来讲,就是先安装好ftp与vsftpd,而后修改/etc/vsftpd/vsftpd.conf添加相应权限,对于不能上传与下载的缘由,基本上都是权限的问题,主要就是三方面:
解决权限问题后,基本就能够经过ftp或wget顺利地使用这个ftp服务器上传/下载文件了.