在脚本中指定sudo的密码

我正在编写一个脚本来更新我的系统(并做一些其他的事情,但这没关系)。 我希望脚本能够自动运行sudo apt-get updatesudo apt-get dist-upgrade --yes 。 我用 – 所以我不必在它运行时选择是; 它会自动升级所有包,而无需我做任何事情。 也就是说,我想以某种方式将我的密码放在脚本中,所以当我运行它时,我也不必输入密码,可能带有参数或其他东西。 你知道,我最后可以把它放在sudo apt-get update --passwd MYPASSWORDHERE 。 我已经尝试了它并且它不起作用,但这是我想要的一个例子。 我最后会做什么参数(–passwd或–password或者什么)?

出于安全原因,Sudo不会那样做。 您可以使用-s选项将密码回显到sudo,但我不建议。 即使您保护脚本免受其他用户的攻击,他们仍然可以使用ps -ef查看您的参数。

我认为通过安装无人值守升级包可以更好地解决您的问题。

如果您的脚本以“yourUser”运行,则可以创建一个简单文件:

  sudo visudo -f /etc/sudoers.d/myOverrides 

使用此指令:

  yourUser ALL = NOPASSWD:/usr/bin/apt-get 

你可以在这里找到一个有用的解释。