Permitir que um usuário faça login em outros usuários (Sudo)

1

Gostaria de dar a um usuário em particular a capacidade de fazer logon como qualquer usuário normal (por exemplo, não raiz ou daemon) e executar comandos como esse usuário.

Como posso fazer isso com segurança?

Atualmente meu usuário sudo direitos em um script bash como esse:

if [ "$1" = "run" ]; then

  sudo -u ${2} ${3};

fi

O que funciona, mas a segurança não foi um foco.

Obrigado pessoal.

    
por Neoon 13.07.2016 / 20:13

1 resposta

1

Crie um novo script, /usr/bin/runasuser

#!/bin/sh
newuser="${1}" && shift
/usr/bin/sudo su - "${newuser}" -c "$@"

Torne-o executável

chmod +x /usr/bin/runasuser

Edite sudoers com o comando visudo e adicione esta linha:

alice ALL=(ALL)         /usr/bin/runasuser

Isso permitirá que Alice execute qualquer coisa como Bob se ela fizer isso:

sudo /usr/bin/runasuser bob /opt/application/for/bob

Assumindo que seu ambiente sudo inclua / usr / bin por padrão, você pode simplesmente executar:

sudo runasuser bob /opt/application/for/bob
    
por 13.07.2016 / 20:57

Tags