格拉夫 - 许可(Permission)
通常, permission是允许在托管环境中执行某些操作的过程。 该权限包括对服务器上文件的读写访问权限或编辑文件系统上的文件。 Grav是一个基于平面文件的CMS,需要写入文件系统以创建缓存和日志文件。
Grav有三种主要情景 -
PHP/Webserver与编辑文件的用户一起运行
此方案适用于大多数共享主机设置以及本地开发。 在专用的Web主机上,我们不能认为这种方法足够安全。
PHP/Webserver使用不同的帐户运行,但同一组
使用用户和PHP/Webserver帐户之间使用共享组的775和664权限,您可以确保两个不同的帐户具有对文件的Read/Write访问权限。 我们可以通过在root上使用适当的权限设置umask 0002来创建新文件。
不同的帐户,手动修复权限
此方法将具有不同的帐户并更新文件的所有权和权限,以确保PHP/Webserver用户将对文件具有Read/Write访问权限。
以下是permissions-fixing shell脚本的简单代码。 您可以根据适用于安装的组编辑此文件。
#!/bin/sh
chown joeblow:staff .
chown -R joeblow:staff *
find . -type f ! -path "./bin/" | xargs chmod 664
find . -type f -path "./bin/" | xargs chmod 775
find . -type d | xargs chmod 775
find . -type d | xargs chmod +s
umask 0002
chown joeblow:staff用于将目录的组和用户更改为joeblow和staff。
chown -R joeblow:staff * line将文件和子文件夹的所有权更改为joeblow和staff。
该线find . -type f ! -path "./bin/" | xargs chmod 664 find . -type f ! -path "./bin/" | xargs chmod 664 find . -type f ! -path "./bin/" | xargs chmod 664为目录中的所有文件设置664权限,为其他文件设置Read ,为组和用户设置Read/Write 。
该线find . -type f -path "./bin/" | xargs chmod 775 find . -type f -path "./bin/" | xargs chmod 775 find . -type f -path "./bin/" | xargs chmod 775为目录中的所有文件设置775个权限,为其他文件设置RX ,为组和用户设置RWX 。
umask 0002用于创建具有664和775权限的新文件。