Usando curingas no arquivo sudoers
No arquivo sudoers
, você pode usar curingas (*), criando assim a possibilidade de executar um script com argumentos.
Um exemplo
Eu testei com um script python incrivelmente simples. No arquivo sudoers
eu tive que usar o caminho absoluto para python
: /usr/bin/python
na linha do arquivo sudoers:
jacob ALL=NOPASSWD: /usr/bin/python /home/jacob/Bureaublad/pscript_1.py*
Então meu código (script python) era:
#!/usr/bin/python
import sys
s1 = sys.argv[1]
s2 = sys.argv[2]
print(s1)
print(s2)
Então eu corri em um terminal:
~$ sudo python '/home/jacob/Bureaublad/pscript_1.py' monkey banana
monkey
banana
sem pedir minha senha.
Da mesma forma, você deve conseguir o que deseja adicionando a seguinte linha ao arquivo sudoers
:
<your_username> ALL=NOPASSWD: /path/to/java <your_script>*
E execute o script por:
sudo java <script> <args>
e não lhe será pedida a sua senha.
Mais informações
Uma fonte interessante sobre como usar o arquivo sudoers
pode ser este .