Você pode usar sudo
para fazer isso. Primeiro, você precisa modificar o arquivo /etc/sudoers
para adicionar uma regra que permita que o usuário hudson
se torne o outro usuário para o script em questão. Vamos supor que você tenha uma conta user1
que precisa executar /usr/local/bin/my_script.sh
.
Execute visudo
para modificar o arquivo sudoers
e adicione um como:
hudson ALL=(user1) NOPASSWD: /usr/local/bin/my_script.sh
Em seguida, use o seguinte comando sudo
para executar o script do hudson:
sudo -u user1 /usr/local/bin/my_script.sh
É muito importante que você use visudo
para modificar o arquivo sudoers
para verificar se há erros no arquivo antes de colocá-lo no lugar. Além disso, sugiro que você leia rapidamente o man sudoers
para entender claramente o que ele faz antes de adicioná-lo à sua configuração.