Linux 安装配置使用 FTP 服务

学习场景:使用摄像机做区域报警,预警后将预警图片传输到 FTP 服务上,所以搭一个环境测试一下,这里我使用的是树莓派 4B,官方 32 位系统,其他 Linux 系统应该通用

下面说两个 FTP 应用

一、vsftpd

vsftpd 是一个非常受欢迎的 FTP 服务器软件,因其简单、安全和高性能而广泛使用。它易于配置和管理,并具有强大的安全特性。vsftpd 默认不允许匿名用户登录,支持虚拟用户,且对抗恶意攻击有一定的保护机制。

vsftpd 可能会在安装过程中自动创建一个名为"ftp"的系统用户,但该用户通常是用于服务器自身的运行和管理,而不是用于 FTP 登录

1. 安装

sudo apt-get install vsftpd

2. 配置

配置文件位于/etc/vsftpd.conf,下面是一些常用的配置项

anonymous_enable: 是否允许匿名用户登录 FTP,默认为 YES。
local_enable: 是否允许本地用户登录 FTP,默认为 YES。
write_enable: 是否允许用户上传文件,默认为 YES。
chroot_local_user: 是否将本地用户限制在其主目录中,默认为 NO。
userlist_enable: 是否启用用户列表文件,默认为 NO。如果启用,可以使用 userlist_file 指定用户列表文件的路径。
userlist_deny: 是否拒绝用户列表文件中列出的用户登录,默认为 YES。
local_umask: 本地用户上传文件的默认权限掩码,默认为 022。
listen: FTP 服务器监听的 IP 地址,默认为 NO,表示监听所有接口。
listen_address: FTP 服务器监听的具体 IP 地址,默认为空。可以指定服务器的具体 IP 地址。

3. 添加用户和密码

使用下面命令添加用户名,回车会让设置密码等信息
新建用户完成后会在/home 文件夹生成一个用户名的文件夹

sudo adduser <username>

在这里插入图片描述

在这里插入图片描述

4. 修改密码

使用下面命令为用户修改密码

sudo passwd <username>

5. 重新加载或重启服务

配置完成配置文件需要重新加载或重启服务

sudo systemctl reload vsftpd
或
sudo systemctl restart vsftpd

6. 权限

后面试了一下,虽然写入没问题,但是没有删除权限
可以给文件夹权限,然后把所属用户组设定好
···
sudo chmod 777 /home/
sudo chown : /home/
···
应该也可以在配置文件加入下面配置解决,我没试,因为已经使用上面的解决了

delete_enable=YES

7. 测试

连接 FTP 新建一个文件夹进行测试
在这里插入图片描述

可以看到 FTP 服务器是被正常建了一个文件夹的
在这里插入图片描述

新建用户也是可以连接到服务器的,但是只有自己文件夹的权限
在这里插入图片描述

二、pure-ftpd

Pure-FTPd 是一个轻量级的 FTP 服务器软件,注重安全性和性能。它具有用户友好的配置选项和可靠的安全特性。Pure-FTPd 支持多种认证方法,包括本地用户、虚拟用户和 LDAP 等。

1. 安装

sudo apt-get install pure-ftpd

2. 配置

配置文件位于/etc/pure-ftpd/pure-ftpd.conf,下面是一些常用的配置项

Bind: 指定 Pure-FTPd 监听的 IP 地址和端口。
AllowAnonymous: 设置是否允许匿名用户登录。
MaxClientsNumber: 设置最大并发连接数。
MaxClientsPerIP: 设置每个 IP 地址允许的最大连接数。
MaxIdleTime: 设置连接的最大空闲时间。
UnixAuthentication: 设置是否允许本地系统用户登录。
PAMAuthentication: 设置是否启用 PAM 身份验证。
PureDB: 指定 Pure-FTPd 使用的纯数据库文件路径,用于虚拟用户认证。
AnonymousOnly: 设置是否仅允许匿名用户访问。
ChrootEveryone: 设置是否将所有用户限制在其主目录中。
CreateHomeDir: 设置是否在用户首次登录时自动创建主目录。
ForcePassiveIP: 指定强制被动模式下使用的 IP 地址。
TLS: 设置是否启用 TLS/SSL 加密。
TLSCertificateFileTLSPrivateKeyFile: 指定 TLS 证书文件和私钥文件的路径。
TLSRequired: 设置是否要求 TLS 连接。
AnonymousCanCreateDirs: 设置匿名用户是否允许创建目录。
VerboseLog: 设置是否启用详细日志记录。
DisplayDotFiles: 设置是否显示以点开头的隐藏文件。

3. 启动服务

sudo service pure-ftpd start

4. 添加用户

如果启用了本地系统用户认证,可以使用操作系统提供的命令创建 FTP 用户
使用下面命令添加用户名,回车会让设置密码等信息
新建用户完成后会在/home 文件夹生成一个用户名的文件夹

sudo adduser <username>

4. 修改密码

使用下面命令为用户修改密码

sudo passwd <username>

5. 重新加载或重启服务

配置完成配置文件需要重新加载或重启服务

sudo systemctl reload pure-ftpd
或
sudo systemctl restart pure-ftpd

猜你喜欢

转载自blog.csdn.net/sywdebug/article/details/132763783