CentOS8搭建FTP服务器
CentOS8搭建FTP服务器
文章目录
1 概述
2 安装vsftpd
3 开启服务
4 设置开机启动
5 修改/etc/vsftpd/vsftpd.conf
6 创建测试文件
7 测试
7.1 浏览器测试
7.1.1 匿名测试
7.1.2 用户登录测试
7.2 ftp命令测试
7.2.1 匿名测试
7.2.1.1 上传测试
7.2.1.2 下载测试
7.2.2 用户登录测试
7.2.2.1 上传测试
7.2.2.2 下载测试
7.3 wget测试
7.3.1 匿名测试
7.3.2 用户登录测试
8 总结
1 概述
文章主要讲了CentOS8如何利用vsftpd搭建一个FTP服务器,然后进行简单的匿名上传/下载与用户上传/下载测试,还有使
用了wget测试.
2 安装vsftpd
yum install -y vsftpd
3 开启服务
service httpd start
4 设置开机启动
可以用
systemctl list-unit-files | grep vsftpd
1
查看是否开机启动.显示disabled.
通过
chkconfig vsftpd on
1
开启自启,再次执行systemctl,可以看到变成了enabled.
5 修改/etc/vsftpd/vsftpd.conf
sudo vim /etc/vsftpd/vsftpd.conf
1
首先修改anonymouse enable=YES,再添加一行anon_upload_enable=YES:
第一行的意思是允许匿名登录,
第二行的意思是允许匿名上传.
重启服务.
service vsftpd restart
6 创建测试文件
cd /var/ftp/pub
sudo vim test
7 测试
7.1 浏览器测试
7.1.1 匿名测试
ifconfig获取内网ip,在浏览器中输入ftp://ip.
可以看到有一个pub文件夹,里面有刚才新建的test文件.
右键保存即可下载文件.
下载完成.
去终端看看.
7.1.2 用户登录测试
输入
ftp://username@ip
1
再输入用户密码.
默认访问的是用户根目录下的文件,这里显示出来了.
下载的话同上,右键选择即可.
7.2 ftp命令测试
首先安装ftp:
sudo yum install ftp
1
7.2.1 匿名测试
ftp ip
1
这里用户名选择ftp,密码为空,表示匿名登录.ftp为默认的匿名登录用户名,至于密码,可以在/etc/vsftpd/vsftpd.conf中设置一
个
no_anon_password=YES
1
这样匿名用户可以不用密码登录.
7.2.1.1 上传测试
直接使用put命令,后面接上文件,这里的upload.txt是执行ftp之前的所在文件夹下的upload.txt
这里提示不能创建文件,是权限的原因,要确保/var/ftp/pub对"other"用户有写权限.
默认的/var/ftp/pub的权限是644,修改成647.
sudo chmod 647 /var/ftp/pub
1
同时修改上传文件的权限,允许other用户可读.
sudo chmod 644 /root/upload.txt
1
如果不行,使用selinux设置.
getsebool -a | grep ftp
1
把ftpd_full_access开启:
setsebool ftpd_full_access on
1
再进入upload.txt所在的文件夹,执行ftp,再次put.
成功!
7.2.1.2 下载测试
直接get文件即可,由于上面已经设置好了权限,所以不会出现问题.
若出现权限问题可从三方面入手:
(1)/var/ftp/pub的对other用户的可读权限:因为是下载,而且匿名,所以只需要对other用户的可读权限
(2)被下载文件的对other用户的可读权限
(3)selinux的问题,设置ftpd_full_access为on
7.2.2 用户登录测试
执行ftp时用对应用户名与密码登录.
默认进入了用户根目录.
7.2.2.1 上传测试
直接put即可.
若出现权限问题参照上面7.2.1.2的那三条方法.
7.2.2.2 下载测试
随便在用户根目录新建一个文件,这里是kr.
直接get即可.
7.3 wget测试
wget用来下载文件,初始下载的目录与ftp登录时的目录一致,比如匿名登录ftp,登录的是/var/ftp目录,则wget会从这
个/var/ftp目录下载文件,下载到执行wget命令所在的目录.使用用户"kr"登录ftp,则登录的是/home/kr目录,wget会
从/home/kr下载文件.
7.3.1 匿名测试
注意,请确保被下载文件对other用户有可读权限.
sudo chmod o+w xxxxxx
1
然后使用wget
wget ftp://ip/pub/xxxx
1
7.3.2 用户登录测试
使用–ftp-user,–ftp-password指定用户名与密码,其余同上.
wget ftp://ip/xxx –ftp-user=xxxx –ftp-password=xxxx
1
成功.
8 总结
呃…简单来说,就是先安装好ftp与vsftpd,然后修改/etc/vsftpd/vsftpd.conf添加相应权限,对于不能上传与下载的原因,基本
上都是权限的问题,主要就是三方面:
(1)ftp目录的权限:比如可以是/var/ftp/pub没有对应的写权限导致上传失败,没有对应读权限导致下载失败.
(2)被上传文件的权限:比如上传的文件没有读权限导致上传失败.
(3)selinux:使用setsebool设置为on.
解决权限问题后,基本就可以通过ftp或wget顺利地使用这个ftp服务器上传/下载文件了.
————————————————
版权声明:本文为CSDN博主「氷泠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/qq _27525611/java/article/details/103790608
安装好vsftpd后,vsftpd的配置文件名是vsftpd.conf
#gedit /etc/vsftpd/vsftpd.conf
然后修改一下参数,带#的为注释。然后修改配置文件里的配置改成下面相映的值即可。
anonymous_enable=yes
write_enable=yes
anon_umask=022 //匿名用户上传权限设置。
anon_upload_enable=yes //允许匿名用户登陆
anon_mkdir_write_enable=yes //允许匿名用户创建修改目录
anon_world_readable_only=no //允许除读以外的权限
anon_other_write_enable=yes //允许删除
anon_root=/var/ftp //不设置也可(默认就是/var/ftp)
执行命令:
#mkdir /var/ftp
#mkdir /var/ftp/pub
#chown root.root /var/ftp
#chmod 755 /var/ftp
#chmod 777/var/ftp/pub
这样就可以了,这样设置的匿名用户的路径是var/ftp 你如果想要换路径只要改 anon_root=“你想要的目录” 。
其实这样是不安全的,最好还是不要允许匿名用户有其他权限。自己把握吧。



vsftpd.conf 5.18KB