루트가 아닌 사용자를 생성하고 간단한 bash를 실행합니다(단지 최대 절전 모드로 전환됩니다). 그러나 이 사용자가 시작한 프로세스는 루트가 소유한 cgroup에 속합니다. 이렇게 하면 루트가 아닌 사용자가 소유한 cgroup으로 프로세스를 이동할 수 없습니다. 루트가 아닌 사용자는 프로세스를 자신이 소유한 cgroup으로 어떻게 이동합니까?
우분투 22.04를 사용하고 있습니다. cgroup v2 입니다.
bash main.sh &
[1] 2061
ps aux | grep main.sh | grep -v grep
user0 2061 0.0 0.6 7760 3336 pts/0 S+ 03:46 0:00 bash main.sh
cat /proc/2061/cgroup
0::/user.slice/user-1000.slice/session-3.scope
ls -l /sys/fs/cgroup/user.slice/user-1000.slice | grep session-3.scope
drwxr-xr-x 2 root root 0 Apr 13 03:45 session-3.scope
이것이 cgroup을 생성하는 방법입니다.
sudo mkdir /sys/fs/cgroup/myGroup0
sudo chown -R user0:user0 /sys/fs/cgroup/myGroup0
프로세스를 이동하면 내 권한이 거부됩니다.
echo "2061" > /sys/fs/cgroup/myGroup0/cgroup.procs
-bash: echo: write error: Permission denied