银河麒麟桌面操作系统V10SP1【禁止用户使用su命令】操作方法

银河麒麟桌面操作系统V10SP1【禁止用户使用su命令】操作方法
最新回答
余盼兮

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命令,同时保留其他管理功能,平衡安全性与易用性。