私はどのようにこのような疑いを持っていますか:
企業ネットワークにプロキシを設定しようとしています。プロキシなしでしかアクセスできないホストがかなり$NO_PROXY
あります/etc/environment
。echo $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 | wc
1014文字に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)があり、異なる場合があります。