vsftpd включает конфигурацию из другого файла

Один очень простой способ сделать это — использовать последнюю версию OpenSSH, которая поддерживает флаг -J(или конфигурацию ProxyJump):

.
ssh -N -D54321 -f -J user@onehost,user@anotherhost,user@yetanotherhost user@finalhost
1
24.09.2019, 17:27
1 ответ

Если собственный инструмент не поддерживает включение файлов, вы можете использоватьm4.

Чтобы показать упрощенный пример, вот два входных файла:

vsftpd.conf.m4

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

includeme.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 заголовок, говорящий что-то вроде:

"# This file was generated with m4 -- edit vsftpd.conf.m4 instead!"

как еще одно предупреждение.

1
27.01.2020, 23:40

Теги

Похожие вопросы