连接到 Samba 共享文件夹的权限问题

连接到 Samba 共享文件夹的权限问题

我在使用 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-dataws1users 添加到这些行中。

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 

相关内容