gpt4 book ai didi

php - Apache 文件所有权/组

转载 作者:太空狗 更新时间:2023-10-29 12:35:48 25 4
gpt4 key购买 nike

我目前为我的组织管理 8 个不同的网站,并建立了一个中央管理网站来帮助管理所有这些网站上的内容。

我目前在管理网站上有一个文件 uploader ,允许我将 ZIP 文件上传到服务器。该脚本然后解压缩包,并将文件移动到服务器的不同部分。

问题是,当我通过浏览器上传文件时,它会将所有权分配给 apache(对于用户和组)。当我尝试使用 FTP 覆盖文件时,这会导致出现问题。

我试图在上传/移动文件后立即更改上传文件的所有者,既使用 PHP 的原生“chown”功能,也使用 exec 功能运行 linux 命令 chown 但都失败了(PHP native chown 显示“不允许操作”错误)

所以我的问题:1)我是否以错误的方式解决这个问题? (我对文件所有权的了解有限)2)我不应该更改文件所有权的原因是什么?3) 是否有任何变通办法?

如果您想了解更多信息,请随时询问。

非常感谢

菲尔

通过浏览器上传的文件的当前文件详细信息:

[file].php      permissions: adfr (0644)    Owner: Apache    Group: Apache

FTP上传文件的详细信息:

[file].php      permissions: adfr (0644)    Owner: [ftp login name]   Group: psacln

最佳答案

我做的事情与您所做的非常相似,但我不使用 ftp,我使用 scp,部分使用 ssh。有了这个,你可以做这样的事情:

$> scp -rp /var/www/html/somedir/* 192.168.1.100:/var/www/html/somedir/.

通过这种方式,您可以使用 p 标志告诉命令复制文件并保留权限、所有权和日期戳。 r 标志根据需要创建子目录和递归副本。

就像任何其他命令一样,您可以在脚本中放置几行 scp 以实现自动化,但要避免在服务器之间使用 ssh 生成的证书来使用密码。

关于php - Apache 文件所有权/组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12040497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com