Linux:用户授权管理

引言

在Linux系统中,用户授权是保障系统安全的核心环节之一。合理分配权限既能满足用户的操作需求,又能有效防止越权操作带来的风险。本文围绕susudo两大核心命令,详细解析其使用场景、配置方法及安全实践,助你掌握用户授权的核心技巧。


一、su命令:用户切换与安全限制

1. su命令的基本使用

su(Switch User)用于切换用户身份,常用场景包括:

  • 切换至普通用户

    su zhangsan          # 仅切换用户,环境变量不切换(可能导致命令不可用)
    su - zhangsan        # 切换用户并加载目标用户的环境变量
  • 普通用户切换至root:需输入root密码。

    su - root
  • 以指定用户身份执行命令

    su -c "id" zhangsan  # 以zhangsan身份执行id命令

2. 限制su命令的使用

默认情况下,任何用户均可通过su切换至root(需密码)。为提高安全性,可通过以下方式限制:

步骤1:启用PAM认证模块

修改/etc/pam.d/su文件,启用pam_wheel模块:

# 取消以下行的注释
auth required pam_wheel.so use_uid
步骤2:将用户加入wheel组

仅允许wheel组成员使用su

gpasswd -a zhangsan wheel   # 将用户添加到wheel组

此后,只有wheel组成员才能使用su切换至root。


二、sudo命令:精细化权限控制

sudo允许普通用户以root权限执行特定命令,无需共享root密码,更安全且可审计。

1. sudo基础配置

编辑sudoers文件

使用visudo命令(推荐,自动检查语法):

visudo   # 编辑/etc/sudoers
语法格式
用户名/组名 主机名=(可切换身份) 授权命令(绝对路径)
  • 示例1:允许用户zhangsan执行/sbin/fdisk/bin/less

    zhangsan ALL=(root) /sbin/fdisk, /bin/less
  • 示例2:允许wheel组所有用户无需密码执行任何命令:

    %wheel ALL=(ALL) NOPASSWD: ALL

2. 高级权限控制

禁止执行特定命令

使用!符号排除危险命令:

lisi ALL=(ALL) NOPASSWD: ALL, !/usr/bin/rm, !/bin/passwd root
查看用户权限
sudo -l   # 列出当前用户的sudo权限

三、su与sudo的区别与选型

特性susudo
密码要求需要目标用户密码需要当前用户密码
权限粒度切换至目标用户的完整权限可限制仅执行特定命令
日志记录无详细日志记录所有操作到/var/log/secure
安全性较低(需共享root密码)较高(无需共享root密码)

最佳实践

  • 日常操作:优先使用sudo,避免直接切换至root。

  • 敏感操作:结合sudosu,例如sudo su - root(需输入当前用户密码)。


四、安全增强与监控

1. 查看sudo操作日志

所有sudo命令记录在/var/log/secure中:

tail -f /var/log/secure | grep sudo

输出示例:

Feb 6 15:43:15 centos7 sudo: zhangsan : TTY=pts/0 ; COMMAND=/bin/cat /etc/passwd

2. 审计sudoers配置

检查非root用户的sudo权限:

grep "ALL=(ALL)" /etc/sudoers | grep -v "root"

3. 恢复误删的sudo权限

若误删sudo权限,可通过以下步骤恢复:

  1. 重启系统进入单用户模式。

  2. 挂载文件系统为可写:

    mount -o remount,rw /
  3. 编辑/etc/sudoers文件修复配置。


五、总结

合理使用susudo是Linux系统安全管理的基石:

  1. 限制su使用:通过PAM和wheel组控制权限。

  2. 精细化sudo授权:按需分配命令,避免滥用root权限。

  3. 日志与监控:定期审计sudo日志,及时发现异常操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值