Executando um script com permissões mais altas como usuário?

1

Estou usando o Ubuntu Desktop 16.04 e gostaria de saber se é possível permitir que um usuário execute um script que tenha (precisa) um nível de permissão mais alto do que o usuário e, se for, como é feito .

Em geral, eu gostaria de ter um usuário que só pudesse iniciar um script específico (que precisaria de permissões de administrador para ser executado) e colocar o PC no modo de suspensão (pm-sleep-hybrid).

Existe uma maneira de realizar o primeiro e talvez o último?

    
por UmBottesWillen 28.09.2017 / 21:54

2 respostas

0

CUIDADO: A resposta a seguir faz referência a ferramentas que podem causar danos ao sistema.

  

"O arquivo / etc / sudoers controla quem pode executar comandos como quais usuários em quais máquinas e também pode controlar coisas especiais, como se você precisa de uma senha para comandos específicos. O arquivo é composto de aliases (basicamente variáveis) e especificações do usuário (que controlam quem pode executar o quê). " Sudoers - wiki da Ajuda da comunidade

Você pode alterar este arquivo para permitir que usuários ou grupos executem comandos como outros usuários. Erros neste arquivo podem fazer muito mal a um sistema.

Se um script tiver autorização para ser executado pelo arquivo sudoers e editado por um usuário não privilegiado. O novo script poderia executar qualquer comando privilegiado. Por isso, é melhor permitir que apenas comandos exatos sejam adicionados ao arquivo sudoers.

Primeiro, edite o arquivo com segurança, executando sudo visudo

Se você quiser permitir que bob, sem usuários privilegiados, desligue o sistema do console sem uma senha.

Para fazer isso, você precisa adicionar alguns aliases cmnd da seguinte forma:

Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot

Você também precisa adicionar uma especificação do usuário (no final do arquivo depois da linha "% admin ALL = (ALL) ALL" para que ela tenha efeito - veja acima para detalhes):

bob ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS
    
por J. Starnes 28.09.2017 / 23:22
1

Você quer dizer algo assim?

sudo pm-sleep-hybrid

Você só teria que adicionar esse usuário ao grupo de sudoers primeiro.

Por exemplo

sudo vi /etc/group

e, em seguida, anexe o ID do usuário no final da linha em que o usuário sudo é mencionado:

sudo:x:27:my_special_user

No entanto, este usuário deve digitar sua senha ao invocar o script ...

    
por Alex 28.09.2017 / 23:05