Eu diria que você precisaria definir o proprietário do arquivo bin (do programa) como root e torná-lo executável apenas pela raiz.
Portanto, como exemplo, estas são as permissões atuais no meu nautilus
, localizado em /usr/bin/nautilus
:
alaa@aa-UBUNTU:~$ ls -l /usr/bin | grep nautilus
-rwxr-xr-x 1 root root 1542692 Feb 20 23:13 nautilus
Caso você precise ler mais sobre permissões, clique aqui . Além disso, antes de fazer qualquer coisa, lembre-se das permissões do seu programa antes de executar qualquer comando, para que você possa voltar a essas permissões caso algo saia errado.
Observe que há três "x" s, o que significa que o proprietário, o grupo e outros (basicamente, todos) têm acesso para executá-lo. Se quisermos que o aplicativo exija permissão de root, precisamos configurá-lo para que a raiz seja a única capaz de executá-lo, portanto, precisamos remover os "x" s (que é a permissão executável) de "group" e "outro", e apenas deixe o primeiro "x". Para fazer isso, você faria:
sudo chmod go-x /usr/bin/nautilus
Este comando significa:
- chmod : modo de alteração / permissões
- go : aplique o seguinte para "group" e "other"
- -x : remove (por causa do sinal de menos) a permissão executável de "group" e "other"
- / usr / bin / nautilus : o arquivo para aplicar isso a
Então, estamos removendo o "x" de "group" e "other". Agora, as permissões são assim:
alaa@aa-UBUNTU:~$ ls -l /usr/bin | grep nautilus
-rwxr--r-- 1 root root 1542692 Feb 20 23:13 nautilus
Se eu tentar executar nautilus
com meu nome de usuário, recebo este:
alaa@aa-UBUNTU:~$ nautilus
bash: /usr/bin/nautilus: Permission denied
Para poder executar nautilus
, eu precisaria fazer sudo nautilus
.