我是Ansible的新手。到目前为止,我见过的大多数VPS设置指南都是这样做的:
- 禁止root登录
- 创建一个只能使用
ssh
(不能使用密码)登录的新用户 wheel
使用无密码sudo权限将新用户添加到组
我了解(1)和(2),但不了解(3)。
当然,无密码sudo
就像登录一样root
吗?我了解好处(便利),但这不是很不安全吗?
我意识到管理员以各种方式运行他们的网络,因此可以说这是“主观的”,但这是非常常见的做法,甚至在各种官方的可访问文档以及托管公司发布的指南中都显示了这种情况。这违背了常识。它背后的逻辑是什么?
1
Ansible用于自动执行管理任务,因此通常需要顶级(根)级访问,因此需要“无密码sudo”。但是,如果只需要它来运行系统上可用命令的子集,则可以使用更详细的sudo配置将其锁定为那些命令。无密码的sudo不一定意味着访问root用户可以做的一切(尽管当您意识到用户可以通过sudo修改sudo配置以赋予自己更大的控制权时,这变得很难实施)。
—
David Spillett
@DavidSpillett我对此很疑惑-即定义sudoers文件中允许使用的sudo命令...但是我读到某个地方ansible通过复杂的python命令进行解释来完成所有工作,而且这种方法会很快变得混乱。
—
lonix