首页主机资讯CentOS系统消息如何进行权限控制

CentOS系统消息如何进行权限控制

时间2025-12-20 01:07:03发布访客分类主机资讯浏览980
导读:CentOS系统消息权限控制 一 用户间终端消息控制 write wall mesg 终端消息涉及三类常用工具:write(向指定用户/终端发送)、wall(向所有终端广播)、mesg(开关是否接收其他用户的 write 消息)。 基本用...

CentOS系统消息权限控制

一 用户间终端消息控制 write wall mesg

  • 终端消息涉及三类常用工具:write(向指定用户/终端发送)、wall(向所有终端广播)、mesg(开关是否接收其他用户的 write 消息)。
  • 基本用法与限制要点如下:
工具 作用 常用命令 权限与限制
write 向某用户当前终端发消息 write < 用户名> < tty> 接收方执行 mesg n 可拒绝非 root 发来的消息;root 仍可写入
wall 向所有终端广播 wall "message" 通常仅root可用;普通用户能否使用取决于系统策略与权限配置
mesg 查看/设置是否接收消息 `mesg y n 查看:mesg`
  • 实用示例
    • 查看在线用户与终端:whow
    • 向用户 alice 的 pts/1 发送:write alice pts/1
    • 全局广播:wall "系统将在5分钟后维护,请保存工作。"
    • 拒绝接收:mesg n;恢复接收:mesg y

二 日志文件访问权限控制 rsyslog 与文件权限

  • 原则:让 rsyslog 以最小权限运行,日志文件仅对必要主体可读,按组授权,轮转后权限保持一致。
  • 推荐做法
    • adm 组运行 rsyslog 并降权:在 /etc/rsyslog.conf 中设置
      • $PrivDropToUser syslog
      • $PrivDropToGroup syslog 保存后重启:systemctl restart rsyslog
    • 设置日志文件属主与权限(示例:/var/log/messages
      • chown root:adm /var/log/messages
      • chmod 640 /var/log/messages
    • 通过 logrotate 固化权限(/etc/logrotate.d/rsyslog 片段)
      • /var/log/messages { daily missingok rotate 7 compress notifempty create 640 root adm }
    • 如启用 SELinux,保持默认上下文(如 var_log_t);若手动调整过,可用
      • chcon system_u:object_r:var_log_t:s0 /var/log/messages
  • 说明
    • 以上权限确保仅 rootadm 组成员可读,其他用户无权限;rsyslog 降权后进一步缩小攻击面

三 按用户或组精细化授权的最小权限方案

  • 场景:需要让特定运维账号(如 ops)读取日志,但不提升为 root。
  • 实施步骤
    • 创建组并加入用户:groupadd logread & & usermod -aG logread ops
    • 将日志组设为 logread 并固化权限
      • chown root:logread /var/log/messages*
      • chmod 640 /var/log/messages*
    • /etc/logrotate.d/rsyslog 的 create 语句中使用相同属主/组,保证轮转后权限不被重置
      • create 640 root logread
    • 如需对个别程序开放“追加”而非读取,可仅对日志目录设置组写并限制文件创建权限,避免放宽全局读取
  • 原则:优先“按组授权 + 最小权限”,避免将日志文件设为全局可读(如 644)

四 审计与合规 记录谁在发送或访问消息

  • 启用 auditd 对日志文件的访问进行审计(示例)
    • 监控打开/创建等调用:auditctl -a exit,always -F arch=b64 -S open -S openat -S creat -S creatat -k syslog
    • 持久化规则写入 /etc/audit/rules.d/audit.rules 后重启 auditd
  • 结合 SELinux AVC 审计与 audit2allow 可在出现拒绝时生成最小策略模块,避免盲目放宽权限
    • ausearch -m avc -ts recent | audit2allow -M mylogpol
    • semodule -i mylogpol.pp

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS系统消息如何进行权限控制
本文地址: https://pptw.com/jishu/776891.html
如何在CentOS上实现消息持久化 如何在CentOS上监控系统消息

游客 回复需填写必要信息