Linux搭建FTP服务,一看就懂,不懂请打我!
最近需要搭建FTP服务,实现两个主机之间的文件通讯,折腾了一番,好在最后成功了,记录一下,方便下次部署。本文使用的平台为RK3588(arm架构),amd64也通用
本文的参考链接:linux服务器安装vsftpd_linux安装vsftp-CSDN博客
- 下载FTP包
- 可能出现无法定位软件包的情况,大概率为软件源错误,需要更换为ubuntu自带的软件源,软件源如下。更换软件源的位置:
/etc/apt/source.list
,但是更换时需要进行备份
- 可能出现无法定位软件包的情况,大概率为软件源错误,需要更换为ubuntu自带的软件源,软件源如下。更换软件源的位置:
sudo apt-get install vsftpd
deb http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted multiverse universe
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted multiverse universe
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-proposed main restricted multiverse universe
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-security main multiverse restricted universe
deb http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main multiverse restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy main multiverse restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main multiverse restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-proposed main multiverse restricted universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main multiverse restricted universe
-
启动、查看FTP服务,并设置开机自启动
systemctl start vsftpd
:启动服务systemctl enable vsftpd
:开机自启动systemctl status vsftpd
:重启服务,该命令要熟记,后续使用多次
-
配置系统本地用户登陆FTP服务(即,创建本地用户和密码)
-
创建本地登陆用户名和密码
useradd testUserName # 创建用户名 passwd testUserName # 创建密码。passwd后面跟着要添加密码的用户名,回车后,输入密码。
-
创建FTP传输的根目录,即FTP传输过程中所有操作(上传、下载)所在的目录
sudo mkdir /home/testUserName/ftpFile # 创建该文件目录,使得后续FTP传输内容都在该文件目录下
-
修改FTP的本地配置文件,即
/etc/vsftpd/vsftpd.conf
文件-
需要注意的是:
vsftpd.conf
有时不在/etc/vsftpd
文件夹内,而在/etc
文件夹内 -
进入文件内:
sudo vim /etc/vsftpd/vsftpd.conf
-
在文件内添加如下内容:
local_enable=YES 开启本地用户登录 local_root= /home/testUserName/ftpFile ftp用户访问根目录 write_enable=YES 全局写权限配置 userlist_enable=YES 开启用户访问列表 userlist_deny=NO 只有列表文件里的用户可以访问ftp userlist_file=/etc/vsftpd/allow_user 自定义用户访问白名单
-
编辑白名单:
sudo vim /etc/vsftpd/allow_uesr # 对应上面的userlist_file testUserName # 添加本地用户 xxx # 添加能够访问FTP的用户
-
限制FTP用户只能在根目录下操作(防越狱)
sudo vim /etc/vsftpd/vsftpd.conf chroot_local_user=YES # 是否将用户限制在根目录 chroot_list_enable=NO # 是否启动限制用户名单 默认不启动,这样用户都在根目录下操作 allow_writeable_chroot=YES
-
-
-
配置完成后,重启FTP服务:
systemctl restart vsftpd
-
测试FTP服务能否使用
-
命令行测试:
ftp xxx.xxx.xxx.xx # 后面是ip地址 # 回车后,输入创建的本地登陆用户名和密码,观察是否能够登陆成功
-
在文件夹登陆ftp,并尝试在文件夹内创建文件夹。若成功创建,则完成FTP部署
-
-
此外:
-
可能存在防火墙的问题,使用如下命令关闭防火墙
sudo ufw disable # 关闭防火墙 sudo ufw status # 查看防火墙状态,如果为inactive,则成功关闭
-
查看ftp状态时,可能会出现failed的状态
- 配置
vsftpd.conf
时,某个选项后,存在空格 - 端口被占用
- 配置
-
原文地址:https://blog.csdn.net/cxkyxx/article/details/142635833
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!