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假设在公网 无法访问

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

相关推荐
pride.li2 分钟前
海思视觉Hi3516CV610--开机自动设置ip
linux·网络·网络协议·tcp/ip
我叫张小白。7 分钟前
CentOS 7 安装 Docker并配置镜像加速(完整指南)
linux·docker·centos
OpsEye14 分钟前
系统负载高一定是CPU问题吗?
运维·cpu·it
Titan20241 小时前
Linux动静态库
linux·服务器·c++
AOwhisky1 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
赵民勇2 小时前
Linux file命令详解
linux·运维
li-xun2 小时前
LINUX DO 社区注册机制调整与公益 AI 服务动态
linux·运维·人工智能
j_xxx404_2 小时前
MySQL表操作硬核解析:从 CREATE TABLE 到磁盘文件、ALTER TABLE 与 DDL 风险
运维·服务器·数据库·c++·mysql·adb·ai
ba_pi2 小时前
k8s删除pod
linux·容器·kubernetes
前端程序猿i2 小时前
Nginx 教程:从入门到能上线
运维·nginx