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

관련 정보