为了账号安全,请及时绑定邮箱和手机立即绑定

强制 PHP CLI 将文件作为 www 数据写入

强制 PHP CLI 将文件作为 www 数据写入

PHP
湖上湖 2022-09-17 17:27:08
有没有办法使 PHP CLI 调用的脚本将 () 作为 www 数据进行重写?目前,如果我创建一个文本文件并使用我自己的自定义脚本写入它,则该文件将创建为root,并且具有非常小的权限:rw- r -- r--php writeToLogFile.php这意味着,如果我想在apache中向此文件写入更多数据(以w-data身份运行),我将被拒绝权限。这是一个更大的系统的一部分,所以对我来说,对我创建的每个文件进行chmod()或chown()是不切实际的。我也不想在PHP中设置umask(),因为这可能会干扰其他线程。我还应该提到该文件正在写入不同服务器上的NFS共享(所有服务器都是Ubuntu)。该文件夹共享为:/myfolder/logsfiles 01.02.03.04(rw,sync,no_subtree_check,no_root_squash)提前感谢您。
查看完整描述

2 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

php无法更改进程运行的用户标识,只有特权(例如 setuid)程序才能执行此操作。您需要以 运行脚本作为 。www-data

sudo -u www-data php writeToLogFile.php



查看完整回答
反对 回复 2022-09-17
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

执行此命令将首先切换用户,而不是仅以用户身份执行代码...sudo su www-data && php writeToLogFile.phpwww-data



查看完整回答
反对 回复 2022-09-17
  • 2 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信