【问题标题】:What is the best octal permission for a config.php file?config.php 文件的最佳八进制权限是什么?
【发布时间】:2021-12-16 06:03:00
【问题描述】:

假设我有一个 LAMP 堆栈项目,托管在 Linux 服务器上,上面只有一个用户的 cPanel。我应该为设置了密码和 API 密钥的文件设置什么权限?

【问题讨论】:

    标签: php linux permissions cpanel


    【解决方案1】:

    对你来说最好的权限是644。这意味着所有者(将部署代码的用户)具有读写权限,组和其他用户只有读取权限。如果您的用户与 web-server 用户(www-data、apache2 等)在同一个组中并且文件归该组所有,您可以将权限降低到 640,使用此配置所有其他用户都没有权限读取/写入/执行文件。

    【讨论】:

    • 谢谢,听起来不错。我的网页有一个单独的问题。基本上,因为 Javscript 正在调用 config.php 文件,但它找不到它。 Uncaught (in promise) SyntaxError: Unexpected end of JSON input Promise.then (async) (anonymous) @ script.js:73 这是调用服务器上 PHP 文件的行:fetch("config.php") ...
    • 别管这个问题与权限无关,它缺少一个 PHP 代码来回显公钥
    • 我不同意。敏感信息不应该是世界和组可读的。 644 肯定不是“最好的”
    • 这通常不是真的。您错过了 TS 可以通过 CPanel 访问,并且您的建议是基于 TS 可以访问 ssh 并且 acl 安装在服务器上的假设。因此,您至少有一个用户(代表网络服务器运行的用户,而您不是该用户)并且该用户应该有权访问配置。 640(如果用户不在 www-data 组中,则为 644)就足够了。如果我们谈论安全方面:是的,使用 acl 会更安全,但也不是最佳选择。
    【解决方案2】:

    应该是0600,意思是只有拥有者可以读写。如果所有者以外的其他帐户需要阅读它,请使用 setfacl。

    setfacl -m u:other:rwx
    

    或者

    setfacl -m u:other:r
    

    一般来说,您不希望敏感信息被他人阅读。

    【讨论】:

    • 这通常不是真的。您错过了 TS 可以通过 CPanel 访问,并且您的建议是基于 TS 可以访问 ssh 并且 acl 安装在服务器上的假设。因此,您至少有一个用户(代表网络服务器运行的用户,而您不是该用户)并且该用户应该有权访问配置。 640(如果用户不在 www-data 组中,则为 644)就足够了。如果我们谈论安全方面:是的,使用 acl 会更安全,但也不是最佳选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 2017-09-11
    • 1970-01-01
    • 2011-11-15
    • 2019-10-31
    • 1970-01-01
    • 2015-07-09
    相关资源
    最近更新 更多