Ubuntu系统下如何限制仅root用户可执行PHP artisan命令
限制仅root用户可执行php artisan命令的最优方案
你当前的权限规则下所有项目文件默认权限为644,意味着任意系统用户都可读取根目录下的artisan入口文件内容,因此可以直接通过PHP解释器执行该文件触发相关操作,这是非sudo用户仍可运行artisan命令的核心原因。
最优实现方案如下:
- 调整artisan文件的所有权与权限
普通web请求仅通过public/index.php处理,不会访问artisan文件,因此可以直接收紧该文件的权限,仅保留root的访问权限:
上述命令执行后,除root外的所有用户均无法读取、执行chown root:root ./artisan chmod 700 ./artisanartisan文件,自然无法运行任何php artisan命令。 - 可选加固:收紧敏感配置文件权限
原规则下.env配置文件权限为644,任意用户均可读取其中存储的数据库密码、接口密钥等敏感信息,建议同步调整权限:
调整后仅web运行身份www-data和root可读取该配置文件,不影响正常web业务运行的同时提升安全性。chown www-data:www-data ./.env chmod 640 ./.env - 验证效果
切换至普通非特权用户执行任意php artisan命令,会返回权限不足无法读取文件的报错,root用户执行无任何影响,完全符合预期。
内容的提问来源于stack exchange,提问作者Inigo EC
相关产品推荐
相关产品推荐

