我在使用 Grav cms 时遇到权限问题。 Grav 文件系统需要对其缓存文件夹的写入权限。具有 grav 站点的存储设备位于外部 USB 驱动器上,该驱动器连接到与托管它的网络服务器 (nginx) 不同的服务器。 Web 服务器通过 samba 连接并使用 fstab 挂载。我能够连接到 USB 存储驱动器,并且可以 r+w+exec 对其进行操作。但是,当我通过浏览器访问该网站时,它会抛出 500、黑屏、权限被拒绝错误。
Server Error
Sorry, something went terribly wrong!
0 - The directory "/mnt/www/ktravel/cache/doctrine/6333572e" does not exist and could not be created.
这是我在 fstab 文件中的行,其中 uid 是 www-data,guid 是 logInUser。
//192.168.1.25/www /mnt/www cifs guest,rw,file_mode=0775,dir_mode=0775,uid=33,gid=1001 0 0
这是文件夹中的权限。
ls -ls
total 12288
1024 -rwxrwxr-x 1 www-data ws1 138329 Dec 7 07:15 CHANGELOG.md
1024 -rwxrwxr-x 1 www-data ws1 3216 Dec 7 07:15 CODE_OF_CONDUCT.md
1024 -rwxrwxr-x 1 www-data ws1 7098 Dec 7 07:15 CONTRIBUTING.md
1024 -rwxrwxr-x 1 www-data ws1 1071 Dec 7 07:15 LICENSE.txt
1024 -rwxrwxr-x 1 www-data ws1 6701 Dec 7 07:15 README.md
0 drwxrwxr-x 2 www-data ws1 0 Dec 7 07:15 assets
0 drwxrwxr-x 2 www-data ws1 0 Mar 1 2018 backup
0 drwxrwxr-x 2 www-data ws1 0 Dec 7 07:15 bin
0 drwxrwxr-x 2 www-data ws1 0 Dec 7 07:18 cache
1024 -rwxrwxr-x 1 www-data ws1 3848 Dec 7 07:15 composer.json
1024 -rwxrwxr-x 1 www-data ws1 200025 Dec 7 07:15 composer.lock
0 drwxrwxr-x 2 www-data ws1 0 Aug 9 15:59 git
0 drwxrwxr-x 2 www-data ws1 0 Dec 7 07:17 images
1024 -rwxrwxr-x 1 www-data ws1 1690 Dec 7 07:15 index.php
1024 -rwxrwxr-x 1 www-data ws1 74 Oct 30 11:55 info.php
0 drwxrwxr-x 2 www-data ws1 0 Jul 6 10:21 logs
1024 -rwxrwxr-x 1 www-data ws1 76 Dec 7 07:15 now.json
1024 -rwxrwxr-x 1 www-data ws1 197 Feb 15 2018 robots.txt
1024 -rwxrwxr-x 1 www-data ws1 19 Dec 22 12:10 setup.php
0 drwxrwxr-x 2 www-data ws1 0 Dec 7 07:15 system
0 drwxrwxr-x 2 www-data ws1 0 Dec 7 07:15 tmp
0 drwxrwxr-x 2 www-data ws1 0 Dec 1 2018 user
0 drwxrwxr-x 2 www-data ws1 0 Dec 7 07:15 vendor
0 drwxrwxr-x 2 www-data ws1 0 Dec 7 07:15 webserver-configs
答案1
@Nasir Riley 提出的这个问题让我思考。
As it is mounted via samba, do the smb permissions on the machine where the USB drive is located allow the www-data user to write to it?
答案是不。
在我的 smb.conf 文件中,我将www-data
和 ws1
users 添加到这些行中。
www-data
在网络服务器中允许写入权限。
ws1
在 Windows 中允许写入权限。
[www]
comment = websites
path = /mnt/www
force user = www-data
force group = ws1
writeable = yes
browseable = yes
public = yes
create mask = 0775
directory mask = 0775
guest ok = yes
guest only = yes