私は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
これが発生すると、tasks
cgroupにはプロセスがnogpu
含まれますsshd
が、子(シェル)プロセスは含まれません。
私は読んだここ迅速に作成されたサブプロセスは間違ったグループにある可能性がありますが、これは多くのシステムで頻繁に発生します。ルールを追加してもroot:sshd
役に立ちません。
cgrulesengd
子プロセスのキャプチャをより堅牢にする方法はありますか?
ありがとうございます。
次に追加:現在の回避策は、ForceCommand
inを使用してsshd_config
ラップするか、シェルを作成してcgroupに自分自身を追加することです(シェルプロセスの親になることはできないため、使用しませんSSH_ORIGINAL_COMMAND
)。pam_exec.so
しかし、私はcgrulesengd
それがそれ自体でより一貫している可能性があるかどうか疑問に思います。