我们将Laravel 5.6安装从Windows迁移到UNIX Web服务器。我通过Putty在CLI上管理我的laravel,并使用网络路径从我的Windows机器开发。
我有一个奇怪的问题而且无法找到任何解决方案,因为我也是Unix / Linux的新手。
当我运行php artisan create命令时,一切正常。 Laravel创建了迁移。但我无法编辑我的Windows机器上的文件,因为我没有权限。
在以前在我的Windows计算机上生成的旧文件中,Windows上的右窗口如下所示:
Anyone Read
www-data (Unix User\www-data) Read/Write
www-data (Unix Group\www-data) Read/Write
新生成的Artisan文件的权利如下所示。我已经将我的Unix用户添加到www-data组。
Anyone read
pm (Unix User\pm) read/write
www-data (Unix Group\www-data) read
我不知道,为什么www-data Group对新生成的Artisan文件没有读/写权限。
答案 0 :(得分:1)
我猜您需要更改运行工匠的用户的umask
。
所以,转到该用户的root主目录(我猜/ home / pm)编辑文件" .bashrc" (或创建它不存在)并添加以下行:
umask 2
就像"当这个用户创建一个新文件或目录时,让他或他的组中的用户可以读写,但只能为其他用户阅读"
此处有关umask
的更多信息:https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html