У меня есть две программы в Java, который я называю из сценария удара:
java program1 arg ... arg
sudo java program2 arg ... arg
Я хочу выполнить program2 как sudo, не попросившись пароля. Я знаю о sudoers файле, но я не уверен, как настроить его для запущения программ Java как sudo, не попросившись пароля. Какие-либо мысли?
В sudoers
файл, можно использовать подстановочные знаки (*), таким образом создавая возможность запустить скрипт с аргументами.
Я протестировал его с очень простым сценарием Python. В sudoers
файл я должен был использовать полный путь для python
: /usr/bin/python
в строке sudoers файла:
jacob ALL=NOPASSWD: /usr/bin/python /home/jacob/Bureaublad/pscript_1.py*
Затем мой (сценарий Python) код был:
#!/usr/bin/python
import sys
s1 = sys.argv[1]
s2 = sys.argv[2]
print(s1)
print(s2)
Затем я работал в терминале:
~$ sudo python '/home/jacob/Bureaublad/pscript_1.py' monkey banana
monkey
banana
не прося мой пароль.
Точно так же необходимо смочь достигнуть того, что Вы хотите путем добавления следующей строки к sudoers
файл:
<your_username> ALL=NOPASSWD: /path/to/java <your_script>*
И запущенный скрипт:
sudo java <script> <args>
и Вас не попросят Вашего пароля.
Интересный источник о том, как использовать sudoers
файл мог бы быть этим.