PAM構成ファイルの行の長さに制限はありますか?

PAM構成ファイルの行の長さに制限はありますか?

私はどのようにこのような疑いを持っていますか:

企業ネットワークにプロキシを設定しようとしています。プロキシなしでしかアクセスできないホストがかなり$NO_PROXYあります/etc/environmentecho $NO_PROXY

少し調整の最後に正しい変数を設定しました。

NO_PROXY_1 DEFAULT=some,hosts
NO_PROXY_2 DEFAULT=some,more.hosts
NO_PROXY_3 DEFAULT=...
NO_PROXY_4 DEFAULT=...
...

NO_PROXY DEFAULT=${NO_PROXY_1},${NO_PROXY_2},...

ところで、これがなぜ必要なのか知りたいです。

追加の調査:

どこでも文書化されていませんが、行の長さの制限はecho $no_proxy | wc1014文字に10文字を加えたものなので、行の長さの制限は1024のようですNO_PROXY="(正確な数字はもはや確実ではありませんが、合計すると1024になります)。

私はManjaro Linux(デフォルトではArch)とpam 1.3.1を使用しています。

答え1

おそらく現在のソースはLinuxファーム1024文字のバッファを使用するコードを表示します。modules/pam_env/pam_env.c

#define BUF_SIZE 1024
...
_parse_config_file(pam_handle_t *pamh, int ctrl, const char *file)
{
    int retval;
    char buffer[BUF_SIZE];
...
    while (( retval = _assemble_line(conf, buffer, BUF_SIZE)) > 0) {

そして、それを使用する他のコードにはgetlineそのような制限はありません。 1024文字のバッファの1つを使用するコードパスが見つかった可能性があります。

異なるPAM実装(OpenPAM)があり、異なる場合があります。

関連情報