laravel - 使用 Laravel Artisan 和文件权限

标签 laravel file-permissions laravel-artisan

我是 Laravel 的新手,我发现这个框架很棒。

Artisan 也很棒,但使用起来有点问题。

假设我像这样用 Artisan 创建了一个新的 Controller

php artisan make:controller Test

在app/Http/Controllers中会新建一个名为Test的文件,这个文件的权限为root:root

当我想用我的编辑器通过 ftp 编辑这个文件时,我做不到,因为我没有以 root 身份登录。

有什么方法可以告诉 Artisan 使用 www-data 组创建文件(例如,无需执行 chown 命令)?

最佳答案

由于您具有 root shell 访问权限,因此以下命令将使用 www-data 用户执行另一个命令-

sudo -u www-data php artisan make:controller Test

www-data 替换为您的 Web 服务器运行时使用的任何用户名,您登录 FTP 服务时使用的用户名。

当您这样做时, Controller 将由 www-data 拥有,这正是您想要的。

注意:不要永远运行从互联网上复制粘贴的命令,而不知道它们到底做了什么,尤其是在 root shell 中。 在这种情况下,-u 参数告诉 sudo 以特定用户而不是 root 用户的身份执行命令。 从联机帮助页:

-u user, --user=user
             Run the command as a user other than the default target user (usually root ). The user may be
             either a user name or a numeric user ID (UID) prefixed with the ‘#’ character (e.g.  #0 for UID
             0).  When running commands as a UID, many shells require that the ‘#’ be escaped with a backslash
             (‘\’).  Some security policies may restrict UIDs to those listed in the password database.  The
             sudoers policy allows UIDs that are not in the password database as long as the targetpw option
             is not set.  Other security policies may not support this.

关于laravel - 使用 Laravel Artisan 和文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34434757/

相关文章:

linux - NPM/Cordova 权限错误 : EACCES: permission denied, scandir

laravel - 使用工匠修补程序时是否有一种方便的方法来清除控制台?

php artisan 路线:list error with gate

laravel - 通过 artisan 和composer 安装之间的区别

php - 如何使用 laravel eloquent 获取加载关系的外键名称

javascript - laravel 模态提交表单出现错误 "TokenMismatchException in VerifyCsrfToken.php line 68:"

php - 我如何在 Laravel 中获取特定用户的所有帖子?

windows - FFMPEG 权限问题,有没有替代 FFMPEG 的替代解决方案?

c# - Directory.SetAccessControl 设置不必要的权限

php - Laravel artisan路由列表数据库连接错误