如何在不成为 Debian 上的 root 权限的情况下执行管理任务?

如何在不成为 Debian 上的 root 权限的情况下执行管理任务?

在 Debian 7 上,如何才能从非 root 帐户执行某些管理任务而不成为 root?例如,我的 iptables 阻止所有用户(包括 root)的所有网络访问,但一个用户除外 - “webuser”。webuser 是管理员帐户,它位于管理员和 adm 组中,它在 sudoers 文件中,可以使用 sudo。当我尝试以“webuser”身份通过 sudo 使用 apt-get 或 synaptic 时,输入 root 密码后,程序显然在 root 帐户下启动,而不是在 webuser 下启动,并且无法访问网络。

是否有一些可以为 synaptic 或 apt-get 设置的配置设置,以便这些程序可以在非 root 帐户下运行?

答案1

在非 root 帐户下运行包管理器是个糟糕的主意。默认情况下这是不可能的,但您可能可以通过某种方式进行热连接,也许使用一些 chroot 魔法。并且可能会破坏您的系统。

想象一下您使用 webuser 安装库的场景,如果由 root 安装,则使用该库的应用程序将无法访问它。

有些应用程序,比如 apache,允许你配置程序以哪个用户和组运行(在 centos 上为 /etc/httpd/conf/httpd.conf),其他应用程序则不提供任何选择。许多应用程序需要以单独的用户身份运行。

我认为您可以通过创建一个名为 webuser 的组来实现您的目标,该组具有网络访问权限,向其中添加具有网络访问权限的程序的用户,并允许该组的成员在 iptables 中访问网络。

请注意,root 需要属于 webuser 组,包管理器才能正常运行

相关内容