我有搭载 CentOS 5.4 的 VPS。
这是生产服务器。
问题是,当我的网站从站点安装一些脚本时,文件上没有写上所有者的名称,而作为用户,我甚至可以更改文件权限。
有没有什么办法,无论哪个脚本正在写入文件,主目录的所有者都应该是所有文件的所有者
答案1
注意:此解决方案需要更改特定用户和目录的文件创建权限。
设置setgid 权限位在将要写入的目录中,将保留写入该目录中的所有新文件,并将其分配给该目录的组(而不是创建它们的用户的组)。
如果 HTTP 服务器的用户默认创建具有组写权限的文件,那么所有写入适当用户组中的目录并设置了 setgit 位的文件都将由该组中的用户完全访问。
设置 setgid 位以directoryname
设置适当的组所有权:
chmod g+s directoryname
chown :groupname directoryname
如果默认未设置组写入权限,则需要设置 HTTP 服务器用户的 umask。
答案2
答案3
如果您运行,ls -ln nameoffile
您可以获得写入文件的进程/用户的数字 UID 和 GID。
然后您可以使用它来做一些事情,比如chown UID.GID /path/to/where/files/are/
将文件正在写入的目录的所有权更改为需要访问它们的用户。然后您应该chmod 755 /path/to/where/files/are/
更改目录的权限,以便/只有/用户可以在该目录中创建新文件。
我需要您提供更多有关正在发生的事情的信息,以便提供进一步的帮助。