非交互执行sudo命令

问题描述

我想在没有交互的情况下执行以下命令:

sudo grep -e "test" /etc/sudoers

我尝试了以下方法

tester@compute:~$ echo 'clouduser' | sudo -S grep -e "test" /etc/sudoers
[sudo] password for tester: test ALL=(ALL) nopASSWD: ALL

问题是我将[sudo] password for tester: 放在响应前面。 我怎样才能从答案的开头切掉那一部分?

谢谢!

解决方法

将以下行添加到您的/etc/sudoers文件中,以启用无密码sudo。在这种情况下,我使用john作为登录帐户。更改为您自己的帐户ID。

john ALL=(ALL:ALL) ALL

或者,也许最好将该行放入名为/etc/sudoers.d/john的文件中。

,

我会回答我的问题-也许其他人会需要它:

(echo 'clouduser' | sudo -Si >/dev/null 2>&1); sudo grep -e test /etc/sudoers

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...