他の質問と回答に基づいて、これら2つのコマンドの結果は同じであると予想しましたが、そうではありませんでした。
また、sudoでプロセスを実行すると、「開いたファイルが多すぎます」というメッセージが表示されますが、rootとして実行すると終了しません。 2の違いは正確に何ですか?
nati@server:/var/tmp$ sudo bash -c "ulimit -n"
1024
nati@server:/var/tmp$ sudo su
root@server:/var/tmp# ulimit -n
32000
答え1
/etc/security/limits.conf
によって使用されますpam_limits
。su
、、、sudo
およびその他の認証モジュールは、login
PAMの説明に従ってPAMモジュールを呼び出します。ほとんどのディストリビューションではこれを意味します/etc/pam.d/
。たとえば、/etc/pam.d/sudo
Gentooの場合は次のようになります。
auth include system-auth
account include system-auth
session include system-auth
system-auth
同じ行はどこにありますか?
session required pam_limits.so
したがって、リソース制限はで定義されているように設定されます/etc/security/limits.conf
。
私のKaliインストールでは異なって見えます。pam_limits
電話用ではありませんsudo
。明らかに、すべてのDebianアンカーはこの「機能」を共有します。実験により/etc/security/limits.conf
観察結果を確認した。sudo
ログインすると1024が表示されますがlimits.conf
。