ユーザーがサーバー上でスクリプトを実行できるようにします。私たちのセキュリティモデルには、それらをchrootすることが含まれます。それらにulimit制限を適用できるようにしたいのですが、それを行う最良の方法は/etc/security/limits.conf
にあるようです。
しかし、それはうまくいかないようです。 limits.conf
で設定したものは次のとおりです。
@registered_users - priority 7
@registered_users - Nice 7
* - priority 9
* - Nice 9
そしてそれはいくつかの場合に機能します:
Sudo -u testuser python
pythonプロセスを素晴らしく9(7ではなく迷惑))にします
だが
Sudo chroot --userspec=testuser:registered_users python
pythonプロセスをniceness0で与えます。
手がかりはありますか?
session required pam_limits.so
を/etc/pam.d/common-session
に追加しようとしましたが、役に立ちませんでした。
/etc/security/limits.confの設定は、pam_limitsを使用して設定するプログラムがないため、chroot内で機能していません。 SudoのPAM構成はpam_limitsを呼び出すため、Sudoを使用すると機能します。
明白な答えは、ここで言うように、「su」のように、pam_limitsを使用するchroot内の何かを呼び出すことです: https://lists.debian.org/debian-user/2010/09/msg01398.html (ただし、デフォルトでコメントが付けられているため、/ etc/pam.d/suでpam_limitsを使用している行のコメントを解除する必要があります)。
つまり、chrootディレクトリが/ srv/chrootであり、/ usr/bin/pythonを実行したい場合は、次のように試すことができます。
Sudo chroot /srv/chroot su testuser /usr/bin/python
須藤もうまくいくと思います。
Sudo chroot /srv/chroot Sudo -u testuser /usr/bin/python
でも、こういう場合に使うのは「す」しか話せません。試してみて、うまくいったかどうか教えてください。