php-授予用户权限une在ubuntu中拥有的文件



我正在使用jasperReports生成报告。当我生成新报告时,它将在 644 的许可下由 root 拥有。因此其他用户没有权限查看此报告。我想更改文件的所有权或更改许可。因此,每个人都可以查看或下载报告。

我尝试了以下PHP功能

chmod($item, 0777);   
chown($path, 'www-data');

它给出

错误:没有权限执行此操作

。因为它自己的root和当前用户是www-data。任何人请帮助我,

实际上,根据您的意思,所有用户都有可以查看该文件的权限。644意味着所有者可以读写,而小组和其他人只能阅读。如果您的脚本正在读取该文件的错误,则可能是因为目录在IS路径中的权限,而不是文件本身。

如果您可以更改root拥有的文件的所有者或权限,它将颠覆UNIX文件权限的整个概念。考虑一下。

您始终可以更改运行这些报告的用户,或者在报告生成方面添加逻辑以移动或更改文件中的文件权限。

顺便说一句,Chmod 777是一个丑陋的kludge,只有那些对Unix权限知识的人使用。专业人士不这样做。您应该将对UNIX文件权限的理解提升到一个新的级别:https://www.tutorialspoint.com/unix/unix-file-permission.htm看起来很有希望。

根据手册,所有者和超人有权这样做。

,您只会搅动文件mod或所有者,就不会。您还必须改变路径。

Chown

尝试将文件文件名的所有者更改为用户。仅有的超级用户可以更改文件的所有者。

注意:此函数在远程文件上无法使用,因为必须通过服务器的文件系统访问要检查的文件。

注意:启用安全模式时,PHP检查要运行的文件或目录是否具有与正在执行的脚本。

chmod

尝试将指定文件的模式更改为模式。注意:当前用户是PHP运行的用户。这是可能与普通外壳或FTP访问使用的用户可能不同。这模式只能由拥有大多数系统上文件的用户更改。

注意:此函数将在远程文件上起作用必须通过服务器的文件系统访问检查。

注意:启用安全模式后,PHP检查文件还是文件是您将要运行的目录具有相同的UID(所有者)与正在执行的脚本。另外,您无法设置suid,sgid and Sticky Bits。

最新更新