linux 搭建FTP服务器

一:安装FTPvim

yum install vsftpd -y

输入vsftpd -v判断是否安装成功服务器

clipboard.png
启动/中止/重启FTPtcp

systemctl start vsftpd.service(service vsftpd start)  #启动
systemctl stop vsftpd.service(service vsftpd stop)    #中止
systemctl restart vsftpd.service(service vsftpd restart)#重启

二:添加ftp用户工具

1:建立ftp用户并设置密码测试

useradd vsftpd    #建立ftp用户
passwd vsftpd     #设置密码

2:配置该用户仅能经过 FTP 访问this

usermod -s /sbin/nologin vsftpd

三:FTP配置spa

1:FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到如下配置并修改或添加rest

# 修改成NO,关闭匿名用户访问
anonymous_enable=NO
# 将全部本地用户限制在自家目录中,NO则不限制(禁止切换根目录)。
chroot_local_user=YES 
# 设置系统用户FTP主目录
local_root=/data
# 开启charoot写权限
allow_writeable_chroot=YES
#配置能够登陆ftp的用户目录
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#配置ftp用户访问目录配置目录
user_config_dir=/etc/vsftpd/userconfig
# 配置FTP被动模式的端口
pasv_min_port=30000
pasv_max_port=30000

2:配置能够登陆ftp用户code

vim /etc/vsftpd/user_list

在/etc/vsftpd/user_list文件中添加能够登陆ftp的用户:ip

clipboard.png

3:配置ftp用户登陆后访问的目录
在/etc/vsftpd目录下新建一个userconfig目录,在userconfig目录下配置用户的登陆目录,例:注意:文件名就是你想要配置的用户名称

mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/vsftpd

在vsftpd文件中添加

local_root=/data/test  #/data/test表示我登陆ftp是的根目录

配置完成后重启FTP更新配置

systemctl restart vsftpd.service(service vsftpd restart)#重启

四:建立测试目录及文件

建立目录

mkdir -p /data/test

设置访问权限:

chmod 777 -R /data/test

建立一个测试文件,并在里面写上this is test!!!

vim /data/test/test.txt

五:防火墙配置

禁用防火墙或者开启21端口和30000端口

(1):禁用防火墙

systemctl stop firewalld

(2):开启21端口

#开启21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#开启30000端口
firewall-cmd --zone=public --add-port=30000/tcp --permanent
#刷新配置
firewall-cmd --reload

六:客户端访问FTP服务

1:登陆:https://filezilla-project.org/ 下载FIleZilla客户端工具

将下载下来的FIleZilla进行安装,安装过程十分简单,这里不介绍了

2:使用FIleZilla登陆ftp服务器
clipboard.png
3:配置ftp用户登陆后访问的目录

在/etc/vsftpd目录下新建一个userconfig目录,在userconfig目录下配置用户的登陆目录,例:注意:文件名就是你想要配置的用户名称

mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/vsftpd

在vsftpd文件中添加

local_root=/data/test  #/data/test表示我登陆ftp是的根目录

配置完成后重启FTP更新配置

systemctl restart vsftpd.service(service vsftpd restart)#重启

四:建立测试目录及文件

建立目录

mkdir -p /data/test

设置访问权限:

chmod 777 -R /data/test

建立一个测试文件,并在里面写上this is test!!!

vim /data/test/test.txt

五:防火墙配置

禁用防火墙或者开启21端口和30000端口

(1):禁用防火墙

systemctl stop firewalld

(2):开启21端口和30000端口

#开启21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#开启30000端口
firewall-cmd --zone=public --add-port=30000/tcp --permanent
#刷新配置
firewall-cmd --reload

六:客户端访问FTP服务

1:登陆:https://filezilla-project.org/ 下载FIleZilla客户端工具

将下载下来的FIleZilla进行安装,安装过程十分简单,这里不介绍了

2:使用FIleZilla登陆ftp服务器

clipboard.png
如上图ftp服务器登陆成功,可是登陆成功后发现,只能从ftp服务器上下载文件下来,没法上传上去,上传时就报:

clipboard.png

这是因为因为 vsftpd 默认被 SELinux 拦截,解决方法:

1:首先查看SELinux中有关FTP的设置状态:

getsebool -a | grep ftp

clipboard.png
2:设置ftpd_full_access为开启状态

setsebool -P ftpd_full_access=on

3:重启vsftpd服务,便可正常访问FTP

systemctl restart vsftpd.service(service vsftpd restart)#重启
相关文章
相关标签/搜索