仅允许apt-get更新和升级,无需密码提示

时间:2014-11-08 09:37:35

标签: linux sudo sudoers

我希望将我的系统(以及所有已安装的软件包)“始终”保留在最新版本上,因此我正在考虑为自动更新创建特殊用户。该用户将获得一个cron-job,每周执行一次“sudo apt-get update -y&& sudo apt-get upgrade -y”。 由于这应该自动完成,我想编辑sudoers文件(当然使用sudo visudo),以便此用户永远不会获得这两个命令的密码提示。 然而,到目前为止我找到的唯一解决方案是仅针对apt-get禁用密码提示,但不针对特定子命令禁用。

由于我希望尽可能保持安全,我需要一种方法来仅允许更新&升级,没有apt-get的其他子命令。 是的,我也会通过sudo禁用任何其他命令的执行,只是为了安全起见。

有没有办法实现这个,或者是允许在没有密码提示的情况下执行apt-get的唯一方法(因此也允许apt-get安装)?

我正在使用基于Debian的发行版Raspian。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

apt-get updateapt-get upgrade创建一个脚本包装器,如下所示:

#!/bin/sh
apt-get update $@

并允许sudoers NOPASSWD

但需要说我不确定使用apt-get updateapt-get upgrade执行某些shell命令是不可能的,所以不确定允许将它们作为非root用户的root足够安全。