Permitir que o programa “root” seja executado sem privilégios [duplicado]

2

Eu alterei meu atalho ctrl-alt-l , então, em vez de apenas bloquear a tela, o sistema entra em suspensão.

(para referência, o comando é gksudo pm-suspend-hybrid )

como você pode ver, o programa precisa ser executado como root, então eu adicionei o gksudo . Eu realmente gostaria de fazer o sistema suspender sem ter que digitar a senha. Existe alguma maneira de fazer isso?

    
por jackweirdy 13.05.2012 / 15:21

3 respostas

8

Abra um terminal e execute sudo visudo .

Depois, você pode editar o arquivo sudoers, onde você pode especificar quem pode executar o comando como root com e sem senha. No final do arquivo, você cola essa linha

nonprivilegeduser ALL=NOPASSWD:/usr/sbin/pm-suspend-hybrid

para cada usuário poder executar esse comando como root sem senha, ou

Your_Username ALL=NOPASSWD:/usr/sbin/pm-suspend-hybrid

para que apenas o seu usuário possa fazer isso (é claro que você precisa ajustá-lo para seu usuário). Em seguida, salve o arquivo (deve ser Ctrl + O) e saia do programa (Ctrl + X).

Por fim, você precisa editar seu comando para ler sudo pm-suspend-hybrid em vez de gksudo pm-suspend-hybrid .

NOTA: Também deve haver a possibilidade de fazer isso com dbus (não requer edição de sudoers), mas essa solução tem a vantagem de funcionar com todas as interfaces de usuário.

    
por jPlatte 13.05.2012 / 15:40
1

Normalmente, é isso que o bit SUID é para, mas no seu caso eu provavelmente substituiria pm-suspend-hybrid por invocação diferente que não precisa de permissões de root (você não precisa digitar a senha ao suspender o Unity, afinal).

Use o seguinte comando (sem sudo ):

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Referências:

por jnv 13.05.2012 / 15:43
0
  1. Digite o comando:

    sudo visudo
    

    e, em seguida, insira a senha.

  2. Você pode ver a linha abaixo no terminal

    %sudo   ALL=(ALL:ALL) ALL
    

    edite a linha% sudo com

    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  3. Salve as modificações usando Ctrl X .

por GANGA SIVA KRISHNA 16.10.2017 / 14:47