要点是我只希望一个用户拥有 sudo 访问权限 - 实际上只用于设置和紧急情况。我什至不相信自己一直有 sudo 访问权限。是否有这样做的最佳实践?例子:
授予用户/组对特定端口(而不是其他端口)的访问权限,而不授予 sudo 访问权限(一些答案是 net_bind、iptables 和 authbind) 以用户无需 sudo 即可使用 apache 等服务的方式安装 Node.js 等系统以一种允许授予用户或组广泛的权限来安装其他用户可以使用的程序的方式,同样无需授予他们 sudo 或 root 访问权限如果我想授予某人尽可能广泛的权限,而他们没有任何权限执行任何操作破坏机器(破坏 sudoers、破坏 /etc/passwd [这确实发生在我身上]、破坏任何阻止通过 root 上的 ssh 登录的内容等),我该怎么做?
要点是我只希望一个用户拥有 sudo 访问权限 - 实际上只用于设置和紧急情况。我什至不相信自己一直有 sudo 访问权限。是否有这样做的最佳实践?
答案1
我不知道“最佳”实践,但如果您觉得sudo
比开箱即用的限制更舒服,我认为您应该执行以下操作:
创建一个普通用户“安装”用户,需要显式登录,并带有明显不同的提示,并且允许通过root 权限
/etc/sudoers
运行您的安装程序(apt-get
、等)。yum
通过以下方式设置另一个具有完全 root 权限的指定用户
/etc/sudoers
您可以对需要 root 权限的任何其他特定任务重复第一个操作。
您可以显式以 root 身份登录,而不是第二点。拥有一个或多个特殊帐户的优点是,您可以通过一些工作为这些帐户生成密码,如果您没有注意到或需要一些额外的人员的努力,则无法访问这些密码(例如打印出来并放入信封中,分成两部分)每一个只有一个人认识)。结合偏僻的日志记录设施(root
可以更改机器本身的日志)。您可以跟踪谁获得了访问权限,并验证原因以及是否确实有必要。
在过去的 30 年里,我在 Unix 和 Linux 系统上以一种或另一种形式添加了这些“控件”中的一种或另一种。也许不是万无一失,但足以起到限制损害的威慑作用,并在某种情况下使软件盗窃行为曝光。