vsftpd 包含来自另一个文件的配置

vsftpd 包含来自另一个文件的配置

我尝试配置 vsftpd 并且能够成功配置它。

是否有任何选项可以“包含”/etc/vsftpd/vsftpd.conf 中另一个文件的配置?

我尝试查看手册页,我所能找到的只是使用指定用户特定配置user_config_dir

我正在使用anonymous登录,但不确定是否可以用于user_config_dir匿名登录。

# vsftpd -v
vsftpd: version 2.2.2

答案1

如果本机工具不支持文件包含,您可以使用m4

要显示一个简化的例如,这里有两个输入文件:

vsftpd.conf.m4

# line one is a comment
anonymous_enable=YES
include(`includeme.m4')dnl

包含我.m4

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

鉴于当前目录中的这两个文件,执行m4 vsftpd.conf.m4 > vsftpd.conf以生成此 vsftpd.conf 文件:

# line one is a comment
anonymous_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

m4 有一个相当大的手册;请参阅info m4GNU M4 网络手册了解更多。

我用来完成文件包含的唯一功能是include宏。语法(不更改默认引用字符)需要反引号和单引号来包围要包含的文件名。dnl末尾的标记表明您m4不希望它在处理语句后打印换行符。

以这种方式管理文件意味着您需要注意更新 m4 文件而不是文件vsftpd.conf。您可以将README文件添加到目录并带有警告;我还看到人们使用Makefile带有配方的简单命令来生成配置文件make。任一文件的存在都可能使管理员有足够的时间来审查它们。您还可以在 vsftpd.conf.m4 文件中包含一个标头,内容如下:

“# 该文件是用 m4 生成的 - 请改为编辑 vsftpd.conf.m4!”

作为另一个警报。

相关内容