Por padrão, apenas root
pode criar conjuntos de CPU (e manipular tarefas nos existentes):
$ cset shield -c0
cset: **> [Errno 13] Permission denied: '/cpusets//user'
cset: insufficient permissions, you probably need to be root
Se eu concedi ao usuário trusted
o direito de executar sudo cset
, os comandos que ele executará, por exemplo
sudo cset shield -e command
seria propriedade de root
, a menos que façamos
sudo cset shield -e sudo -- -u trusted command
o que é bastante complexo, principalmente em relação a qual ambiente é herdado command
através dessas camadas...
Existe uma maneira de conceder trusted
direitos para manipular conjuntos de CPU sem alterar a identidade?
De acordo com a página de manual do cpuset :
Usando um pequeno script sudo-callable, que cria um cpuset e adapta a propriedade/permissões da pasta e arquivos correspondentes, um usuário teria permissão para criar seu próprio cpuset.
Então o usuário pode usar e modificar este cpuset diretamente sem permissões de root e criar cpusets filho para ele.
Consulte também https://serverfault.com/questions/478946/how-can-i-create-and-use-linux-cgroups-as-a-non-root-user .