在某些情况下,我们需要限制 su 访问:
只有用户'oracle'可以切换到特定用户(例如通过'su admin'切换到admin来维护系统),切换到其他用户仍然会失败。
其他用户无法访问 su。
修改 su 的默认 PAM 设置可以实现目标。
以下步骤为 su 设置限制:
- 为oracle创建一个允许运行su的新组:
# groupadd adminmembers
- 将用户(oracle)添加到组中:
# usermod -G adminmembers oracle
- 创建 /etc/security/su-adminmembers-access 文件并向其添加“admin”:
# cat /etc/security/su-adminmembers-access admin
确保 /etc/security/su-adminmembers-access 仅对“root”用户可写,对任何其他用户都不可写。
# ls -l /etc/security/su-adminmembers-access -rw-r--r-- 1 root root 7 Dec 4 12:44 /etc/security/su-adminmembers-access
- 在/etc/pam.d/su配置文件中添加如下规则:
auth required pam_wheel.so use_uid group=adminmembers debug auth required pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/su-adminmembers-access
有了以上两条规则,su切换用户将被限制为:
- 只有“adminmembers”组中的用户(例如在这种情况下,oracle)可以通过“su - admin”使用有效的密码切换到管理员
- “adminmembers”组用户只能通过“su - admin”切换到“admin”,切换到其他用户依然失败
- 不在 'adminmembers' 组中的用户不能使用 'su' 切换用户
- 用户“root”仍然可以切换到任何其他用户
- 请注意,只有在我们需要如此严格的 su 策略时才可以考虑上述设置。一般来说,建议使用 sudo 来实现更自适应的切换策略。
日期:2020-09-17 00:13:49 来源:oir作者:oir