是否可以打破 sshd_config 中的长行?

是否可以打破 sshd_config 中的长行?

具体AllowUsers参数:

例如转换这个

AllowUsers user1 user2 user3 user4

对此

AllowUsers
    user1
    user2
    user3
    user4

答案1

不,但在这种情况下它没有用。您可以有多行AcceptEnvAllowGroupsAllowUsersDenyGroupsDenyUsersHostKey、和行,每一行PermitOpen都会向列表中添加一个或多个(有时为零)元素。PortSubsystem

尽管如此,如果您无法轻松地将AllowUsers指令放在一行中,我建议创建一个ssh_allowed组并使用AllowGroups ssh_allowedin sshd_config

答案2

简而言之,看起来没有

OpenSSHservconf.c将文件转储到缓冲区中,而不检查此类内容(它似乎所做的只是寻找#标记注释):

while (fgets(line, sizeof(line), f)) {
    if ((cp = strchr(line, '#')) != NULL)
        memcpy(cp, "\n", 2);
    cp = line + strspn(line, " \t\r");

    buffer_append(conf, cp, strlen(cp));
}

解析配置的函数然后在换行符上分割缓冲区并处理每一行:

while ((cp = strsep(&cbuf, "\n")) != NULL) {
    if (process_server_config_line(options, cp, filename,
        linenum++, &active, user, host, address) != 0)
    bad_options++;
}

相关内容