(13%3A%20%EA%B6%8C%ED%95%9C%20%EA%B1%B0%EB%B6%80%EB%90%A8)%EC%97%90%EC%84%9C%20Nginx%20dav%20PUT%20%EC%9A%94%EC%B2%AD%EC%9D%B4%20%EC%8B%A4%ED%8C%A8%ED%95%98%EB%8A%94%20%EB%AC%B8%EC%A0%9C%EB%A5%BC%20%ED%95%B4%EA%B2%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
PUT
기존 폴더의 루트에 있는 index.html 파일에 액세스하려고 하면 nginx가 다음과 같이 실패합니다.
[crit] 1181#0: *1 rename() "/opt/spool/nginx/client_temp/1/0000000001"
to "/opt/share/www/domain.tld/index.html-3hlCQ9iE" failed (13:
Permission denied), client: 1.2.3.9, server: host.domain.tld, request:
"PUT /www/domain.tld/index.html-3hlCQ9iE HTTP/1.1", host: "172.21.2.2"
환경
- 저장소
nginx-extras
에서 1.13.6-1을 사용합니다entware-3x
. - Padavan 펌웨어에서 실행됩니다.
$ grep www-rw /etc/passwd www-rw:x:1000:1001:Linux User,,,:/opt/share/www:/bin/sh $ grep www-w /etc/group www-w:x:1001: $ ls -l /opt/share/www drw-rw-r-- 2 www-rw www-w 4096 Feb 9 13:51 domain.tld $ ls -al /opt/share/www/domain.tld drw-rw-r-- 2 www-rw www-w 4096 Feb 9 13:51 . drwxr-xr-x 4 www-rw www-w 4096 Feb 9 13:51 .. $ ls -l /opt/spool/nginx drwxrwxrwx 7 www-rw root 4096 Feb 9 22:46 client_temp $ ls -l /opt/spool/nginx/client_temp drwx------ 2 www-rw www-w 4096 Feb 9 22:28 5
고객:
Cyberduck/6.3.3.27341
- 클라이언트-사용자:
www-rw
콘텐츠nginx.conf
user www-rw www-w;
server {
location /www {
root /opt/share;
client_body_temp_path /opt/spool/nginx/client_temp 1;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
# allow creating directories
create_full_put_path on;
dav_access user:rw group:r all:r;
autoindex on;
}
}
반품
user nobody nogroup;
dav_access user:rw group:r all:r;
#autoindex ...
- 클라이언트-사용자:
admin
Nginx dav 권한 거부 오류를 해결하려면 권한에서 무엇을 수정해야 합니까?
답변1
$ ls -l /opt/share/www drw-rw-r-- 2 www-rw www-w 4096 Feb 9 13:51 domain.tld
특별히 테스트하지는 않았지만... x
거기에 권한을 추가(실행)합니다.
그건:
chmod 775 /opt/share/www/domain.tld
또는
chmod 755 /opt/share/www/domain.tld
x
순진하게는 require(쓰기 권한)만 필요하다고 생각할 수 있는 일부 작업에 대해서는 디렉토리에 실행 권한이 필요합니다 w
.