2026-10-23 06:34:29
在银河麒麟桌面操作系统V10SP1中,可通过修改PAM配置文件和sudoers文件禁止admin和sudo组用户使用su命令,具体操作如下:
步骤1:修改PAM配置文件
操作命令:
sudo vim /etc/pam.d/su具体操作:
在文件中找到以下配置行:
auth required pam_wheel.so use_uid若该行前有#符号(表示注释),需删除#以启用配置。
保存并退出:按Esc键,输入:wq后按回车。
作用说明:启用pam_wheel.so模块后,系统默认仅允许wheel组用户使用su命令。由于admin和sudo组默认不在wheel组中,此配置会间接禁止其使用su。
步骤2:修改sudoers文件
操作命令:
sudo visudo /etc/sudoers具体操作:
在文件中添加以下配置行,明确禁止admin和sudo组使用su命令:
%admin ALL=(ALL) ALL,!/bin/su%sudo ALL=(ALL:ALL) ALL,!/bin/su保存并退出:按Ctrl+X,输入Y确认保存。
作用说明:
!/bin/su表示禁止执行su命令。
(ALL)和(ALL:ALL)分别限制用户权限范围,确保配置覆盖所有可能的使用场景。
验证配置效果
测试方法:以admin或sudo组内的用户身份登录系统,尝试执行以下命令:
su - 目标用户名预期结果:系统应返回错误提示,如su: Permission denied或命令未找到,表明配置生效。
注意事项
权限管理:
修改系统文件需使用sudo或root权限,操作前需确认当前用户具有足够权限。
禁止su命令后,若需临时提权,建议使用sudo命令替代。
配置文件备份:
修改前建议备份原始文件,例如:
sudo cp /etc/pam.d/su /etc/pam.d/su.baksudo cp /etc/sudoers /etc/sudoers.bak若配置错误导致系统无法登录,可通过单用户模式或恢复备份修复。
兼容性:
银河麒麟V10SP1基于Linux内核,上述方法适用于大多数基于PAM和sudo机制的系统,但需根据实际环境调整路径或语法。
扩展建议
审计与监控:
结合auditd工具记录特权命令使用情况,进一步追踪潜在滥用行为。
示例规则:
-a always,exit -F arch=b64 -S execve -F comm="su" -F a1=- -F uid=0 -F auid>=1000 -F auid!=4294967295 -k su_root替代方案:
若需完全禁用特权切换,可考虑移除sudo组或限制sudo命令权限,但需评估对系统管理的影响。
通过上述步骤,可有效禁止admin和sudo组用户使用su命令,同时保留其他管理功能,平衡安全性与易用性。