我正在编写一个Java应用程序,需要执行命令行并返回结果,但是当我执行命令时,它要求输入sudo密码。到目前为止,我尝试过:
$ sudo -s
$ vim /etc/sudoers
# User privilege specification
root ALL=(ALL:ALL) NOPASSWD: ALL
javauser ALL=(ALL:ALL) NOPASSWD: ALL
:wq
$ 4 -r--r----- 1 root root 615 2011-10-26 09:23 sudoers
一旦我执行了命令,它会再次询问“ [javauser]密码为javauser:”。但是我已经提到过noPASSWD。
whoami
返回alex
,我将其添加为sudoers
文件
# User privilege specification
root ALL=(ALL:ALL) ALL
alex ALL=NOPASSWD: ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
跑步不断询问我的密码,有什么想法吗?
看起来已经有一个非常相似的问题:askubuntu.com/questions/39281/…-您是否尝试过那里的答案?
—
谢尔盖
确保在您的Java代码中,在系统调用中使用“ sudo / absolute / path / to / command”。顺便说一句。出于安全原因,您应该使用
—
CON-F使用的
sudo visudo
而不是vim
编辑sudoers文件。这样,如果您犯了一个错误,程序会警告您。
可以在这里找到我到底尝试了什么:gist.github.com/1315951