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

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

相关推荐
宁zz6 小时前
乌班图安装jenkins
运维·jenkins
大丈夫立于天地间6 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg50176 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影7 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain7 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon7 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu7 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
Zero_to_zero12348 小时前
解决docker的ubuntu系统中文乱码问题
ubuntu·docker·容器
@郭小茶8 小时前
docker-compose方式部署docker项目
运维·docker·容器