저는 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
그것이 그 자체로 더 일관성이 있을 수 있는지 여전히 궁금합니다.