Cgroupルールエンジン(cgrulesengd)が子プロセスを失います。

Cgroupルールエンジン(cgrulesengd)が子プロセスを失います。

私はUbuntu 16.04および14.04システムを使用しており、ユーザーがcgroupルールエンジンを使用するsshセッションでNvidia GPUを使用できないようにしたいと思います。

現在私の/etc/cgconfig.conf外観:

group nogpu {
  devices {
    devices.allow = "a *:* rwm";
    devices.deny = "c 195:* rwm";
  }
}

良い/etc/cgrules.conf

@groupname:sshd devices nogpu

問題は、sのサブプロセスがcgrulesengdしばしば欠落していることです。sshdこれが発生すると、taskscgroupにはプロセスがnogpu含まれますsshdが、子(シェル)プロセスは含まれません。

私は読んだここ迅速に作成されたサブプロセスは間違ったグループにある可能性がありますが、これは多くのシステムで頻繁に発生します。ルールを追加してもroot:sshd役に立ちません。

cgrulesengd子プロセスのキャプチャをより堅牢にする方法はありますか?

ありがとうございます。

次に追加:現在の回避策は、ForceCommandinを使用してsshd_configラップするか、シェルを作成してcgroupに自分自身を追加することです(シェルプロセスの親になることはできないため、使用しませんSSH_ORIGINAL_COMMAND)。pam_exec.soしかし、私はcgrulesengdそれがそれ自体でより一貫している可能性があるかどうか疑問に思います。

ベストアンサー1

おすすめ記事