root以外のユーザーを作成し、単純なbashを実行します(単に休止状態になります)。ただし、このユーザーが開始したプロセスは、ルートが所有するcgroupに属します。これにより、root以外のユーザーが所有するcgroupにプロセスを移動できなくなります。 root以外のユーザーは、プロセスを自分が所有するcgroupにどのように移動しますか?
Ubuntu 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