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

问题描述 投票:1回答:1

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

由于我想尽可能地确保它的安全,因此我需要一种仅允许更新和升级的方法,而没有apt-get的其他子命令。是的,为了安全起见,我还将通过sudo禁用其他任何命令的执行。

有什么方法可以做到这一点,还是允许没有密码提示就执行apt-get的唯一方法(因此也允许apt-get install)?

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

感谢您的帮助!

linux sudo sudoers
1个回答
1
投票

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

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

并在sudoers中将其与NOPASSWD一起允许。

但是需要说的是,我不太确定是否无法使用apt-get updateapt-get upgrade执行某些shell命令,因此不确定是否允许非root用户以root用户身份运行它们是足够安全的。

© www.soinside.com 2019 - 2024. All rights reserved.