You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于无写入权限的/etc/sudoers文件可被追加内容的技术疑问

无写入权限的/etc/sudoers文件为何能被追加内容?

我完全懂你的疑惑——看权限的话,/etc/sudoers默认确实是root和root组只读(一般权限是440,也就是r--r-----),用普通文本编辑器打开修改后保存,肯定会弹出只读错误。但为啥用这段命令就能成功追加内容呢?

cat >> /etc/sudoers << EOF
%group1  ALL=(ALL)   ALL
EOF

核心原因其实有两个,都是Linux权限体系的关键点:

  • 你执行命令的身份是关键:你应该是用sudo前缀运行这段命令,或者本身就以root用户身份操作的吧?Linux里的root是超级用户,完全不受文件权限位的限制——不管文件标记成什么权限,root都能对它做读写、修改、删除任何操作,这是root账号的核心特权。
  • 文件权限是针对普通用户的:/etc/sudoers的只读权限,约束的是普通用户和非root组的用户,对root来说这些权限控制位相当于不存在。

举个反例:如果你用普通用户身份直接运行这段命令,终端肯定会返回bash: /etc/sudoers: Permission denied的错误,只有当你拥有root权限时,才能绕过只读限制完成追加。

另外提醒一句:虽然root能直接修改/etc/sudoers,但强烈建议用visudo命令来编辑这个文件——它会自动检查语法错误,避免你写错规则导致sudo功能失效,这是更安全的操作方式。

备注:内容来源于stack exchange,提问作者Salar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:38:08