我有一个脚本,我正在管理控制面板中使用,以允许用户轻松更改某些配置文件的写入权限,但我有一点问题。
有2个主开关,一个允许用户将文件更改为'writable'=> 0777和一个'protected'=> 0444.这第一个工作正常,但是第二个,当我运行它时,没有显示错误,它表现得好像它已成功更改权限,但在FTP中查看显示该文件实际上是0644,它似乎无法更改为0444成功。有什么想法吗?
答案 0 :(得分:0)
执行PHP的帐户必须拥有该文件才能修改权限。 “www-data”或“apache”是常见的用户帐户。
同时制作全球可读或可写的敏感内容真是个坏主意。使其可执行也是一个坏主意。您可能需要400
和chmod 500
。
答案 1 :(得分:0)
我认为这种方法是错误的,php将始终需要写入权限才能在将来更改任何内容,因此硬文件只读权限不是可行的方法。
解决方案是数据库表或其他配置文件,用于跟踪哪些文件被锁定,哪些文件可以更改(以及由谁...)。然后,您可以添加php检查以查看某个用户是否可以更改某个文件。