Grav cms를 사용하는 데 권한 문제가 있습니다. Grav 파일 시스템에는 캐시 폴더에 대한 쓰기 액세스가 필요합니다. 중력 사이트가 있는 저장 장치는 이를 호스팅하는 웹 서버(nginx)가 아닌 다른 서버에 연결된 외부 USB 드라이브에 있습니다. 웹 서버는 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.
이것은 uid가 www-data이고 guid가 logInUser인 fstab 파일의 줄입니다.
//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
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