允许非管理员用户通过 apt 或 rpm 安装软件包吗?

允许非管理员用户通过 apt 或 rpm 安装软件包吗?

是否可以允许非 root 用户使用 apt 或 rpm 在系统范围内安装软件包?

目前我工作的地方的 Linux 机器上的设置已经过时,管理员厌倦了必须根据用户的要求为用户进行所有安装,因此他们正在考虑向所有用户授予完整的 sudo 权限。这具有明显的安全缺点。所以我想知道是否有一种方法可以允许普通用户安装软件 - 以及升级和删除它?

答案1

您可以使用 sudo 指定允许的命令;您不必允许无限制的访问,例如,

用户名全部 = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude

这将允许用户名sudo apt-get无需任何密码即可运行sudo aptitude ,但不允许任何其他命令。

您还可以使用封装套件结合波尔基特 比 sudo 更精细的控制。

允许用户安装/删除软件包可能存在风险。他们只需卸载必要的软件(如 libc6、dpkg、rpm 等)就可以轻松地使系统无法运行。从定义的存档中安装任意软件可能会让攻击者安装过时或可利用的软件并获得 root 访问权限。我认为主要问题是你对你的员工有多信任?

当然,您的管理团队也可以开始使用配置管理系统,例如 puppet、chef 或研究 spacewalk 来管理您的系统。这将使他们能够从中央系统配置和管理系统。

答案2

aptdcon

从手册页:

aptdcon:允许使用 aptdaemon 执行包管理任务,例如安装或删除软件。运行这个程序不需要 root 权限。

答案3

username ALL = NOPASSWD : /usr/bin/yum, /bin/rpm

答案4

我也寻找类似的东西,但什么也没出现,所以我编写了这个简单的解决方案“softwarechannels”:

https://github.com/alfem/softwarechannels

这是一个非常简单的系统,允许普通(无管理员)用户从受限目录安装软件包。

只需在一个简单的文本文件中定义“通道”(软件包组),并授予用户启动软件通道的权限。

他们只会看到与其 Unix 组匹配的频道中的包。

相关内容