vsftpd 环境变量 user_config_dir 不起作用

vsftpd 环境变量 user_config_dir 不起作用

vsftpd 手册描述如何通过名为 user_config_dir 的环境变量处理 FTP 服务器上的多个用户:-

用户配置目录

此强大选项允许根据每个用户覆盖手册页中指定的任何配置选项。用法很简单,最好用一个例子来说明。如果您将 user_config_dir 设置为 /etc/vsftpd_user_conf,然后以用户“chris”的身份登录,则 vsftpd 将在会话期间应用文件 /etc/vsftpd_user_conf/chris 中的设置。此文件的格式如本手册页中所述!请注意,并非所有设置都对每个用户有效。例如,许多设置仅在用户会话启动之前有效。不会影响每个用户任何行为的设置示例包括 listen_address、banner_file、max_per_ip、ma​​x_clients、xferlog_file 等。

默认值:(无)

这似乎合乎逻辑。您在 /etc 中创建一个目录,并将其名称分配给 vsftpd.conf 文件中的 user_config_dir。然后,您在该文件夹中创建以每个用户名称命名的子文件夹。在每个子文件夹中,您将该用户的特殊配置放入其中。

唯一的问题是它不起作用!

每当我有一个 vsftpd.conf 文件,其中包含类似语句时

user_config_dir=/etc/vsftpd_user_conf

以及两个用户(user1 和 user2)的子文件夹,重新启动 vsftpd 服务后出现错误。它停止在 vsftpd.conf 文件中,我认为是错误 -2。

我查看过的所有资料中,都没有关于使用这种配置分离方法的指导或示例。事实上,我很惊讶 vsftpd 程序员至今还没有提供更好的文档。

对我来说,这还不是一个关键问题:到目前为止,我可以对所有 vsftpd 帐户使用相同的 SSL 证书。但如果将来能够将不同的配置应用于其他帐户,那就很有用了。

有人能指出发生错误的原因吗?

为了记录,我正在使用来自 OVH 的 Ubuntu 22.04 服务器。

我使用工作电脑上的 SSH 连接到它以进行系统管理员操作。

对于 FTP,我使用工作电脑上的 FileZilla 3.58 连接到我的服务器 - 这对于不安全和安全的 FTP 传输都运行良好,无需使用任何 user_config_dir 设置。

相关内容