chmod 777 能否普遍取代 chown 的需要?

chmod 777 能否普遍取代 chown 的需要?

我很清楚

chmod 777

命令将使任何文件在理论上可供任何用户访问/读取/写入/执行。

但是是否存在这样的情况,即使有一个全世界可写/可读的文件,我们仍然需要实现 CHOWN 才能让系统进程使用该文件?

或者我们可以假设,只要权限完全开放,chown 命令就不会影响文件的访问模式行为。

我问这个问题与一些多线程/集群进程有关,这些进程在以错误的用户身份运行时似乎会失败,因为 ENOENT 错误似乎发生在具有完全开放(777)权限的文件上。

答案1

对于 setuid/setgid 的脚本,意味着它以拥有该文件的用户或组的身份执行,这可能是一个问题。

理论上,程序在使用文件之前可能会检查其所有权,安全工具(如 ssh)拒绝以全局权限执行,但据我所知不会检查所有权。对于设置自己所有权的程序,这也可能是一个问题,例如邮件服务器通常也会在转到邮件用户 ID 之前检查权限。

从安全角度来看,这被认为是非常糟糕的做法。

相关内容