我尝试配置 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 m4
或GNU M4 网络手册了解更多。
我用来完成文件包含的唯一功能是include
宏。语法(不更改默认引用字符)需要反引号和单引号来包围要包含的文件名。dnl
末尾的标记表明您m4
不希望它在处理语句后打印换行符。
以这种方式管理文件意味着您需要注意更新 m4 文件而不是文件vsftpd.conf
。您可以将README
文件添加到目录并带有警告;我还看到人们使用Makefile
带有配方的简单命令来生成配置文件make
。任一文件的存在都可能使管理员有足够的时间来审查它们。您还可以在 vsftpd.conf.m4 文件中包含一个标头,内容如下:
“# 该文件是用 m4 生成的 - 请改为编辑 vsftpd.conf.m4!”
作为另一个警报。