Ubuntu 22.04 ftp搭建

1、安装ftp服务

sudo apt-get install vsftpd

2、FTP安装完成后,会默认为我们创建用户名为ftp的用户,默认无密码。我们需要为其设置密码。输入

sudo passwd ftp

3、创建ftp用户的home目录

sudo mkdir /home/ftp

4、设置ftp目录的权限

sudo chmod 777 /home/ftp

sudo chown ftp:ftp /home/ftp

5、配置FTP服务 主要就是下面这些(有些可能不需要)

取消如下配置前的注释符号

local_enable=YES(是否允许本地用户登录)

write_enable=YES(是否允许本地用户写的权限)

chroot_local_user=YES(是否将所有用户限制在主目录)

chroot_list_enable=YES(是否启动限制用户的名单)

chroot_list_file=/etc/vsftpd.chroot_list(可在文件中设置多个账号)

修改如下配置

anonymous_enable=NO (不允许匿名访问,必须登录)

chown_uploads=YES (允许上传改变)

添加如下内容

allow_writeable_chroot=YES

如果不需要多用户访问 ,可以再添加ftp访问目录

local_root=/home/ftp (访问目录)

6、重启ftp

sudo service vsftpd restart

7、测试

在终端中输入ftp localhost,然后输入用户名与密码实现登录

ftp localhost

8、多用户

在上面步骤5配置的目录/etc/vsftpd.chroot_list下面新建不同用户 ,注意文件名要跟ftp用户名一样

ftp文件内容

/etc/vsftpd/user_conf/ftp

local_root=/home/ftp

write_enable=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

ftpdown只有下载权限

/etc/vsftpd/user_conf/ftp

local_root=/home/ftp

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

问题:

1、ftp总是出现密码错误

将/etc/vsftpd.conf配置文件的pam_service_name=vsftpd改为pam_service_name=ftp,即可解决。

pam_service_name=ftp 修改完成,重启ftp

2、内网使用客户端工具或者windows在文件夹路径中无法访问 首先要确保端口能正常访问 ftp服务器要开放对应的端口 通过tcping *** 21能看到对应的端口是打开的

提示:"打开FTP服务器上的文件夹是发生错误,请检查是否有权限访问该文件夹。"

在控制面板里找到 "Internet 选项"

把使用被动 FTP 功能关掉就 OK

winSCP 修改

3、ftp假设在公网 无法访问

要看看对应的安全组是否有放开对应端口 登录到对应的云服务后台 修改安全组规则

相关推荐
青禾83720 小时前
Linux 操作系统入门指南:从目录结构到常用命令
linux·运维·服务器
zhengqweasd20 小时前
流量没跑满、带宽空闲,业务依然卡顿
运维·服务器·网络
闖6421 小时前
入门Linux操作系统|零基础吃透原理、目录、权限、常用命令
linux
bruk_spp21 小时前
linux pinctrl
linux
Y3815326621 天前
Docker Compose 服务依赖与健康检查:healthcheck 让容器按正确顺序启动
运维·docker·容器
稳联技术老娜1 天前
伺服内嵌EtherNet IP方案:嵌入式小板SPI通讯固件Demo程序适配改造
运维·服务器·网络
en.en..1 天前
Linux系统编程:fcntl 与 ioctl
linux·运维·服务器
自动化监测Learner1 天前
Navicat Premium 17 中文版安装教程(2026最新版)
java·linux·数据库
荣合技术服务1 天前
Codex 实战:用 AI 写运维脚本
运维·codex
李昊哲小课1 天前
Deepin 25 上安装 Docker CE 实战记录
运维·docker·容器·deepin