nginx公共webdav服务器

你可以从$ remote_user中检查用户组吗?

location ~ ^/dav/(.*)$ { alias /home/$remote_user/$1; auth_pam "Restricted"; auth_pam_service_name "nginx"; dav_methods PUT DELETE MKCOL COPY MOVE; dav_access group:rw all:r; create_full_put_path on; } location ~ ^/home/(.*)$ { alias /home/$1; #check the group of the $remote_user; } 

curl -T test.txt'http :// gert:[email protected]/dav/ '

curl'http:// friend:[email protected]/home/gert/test.txt '

/usr/local/nginx/conf/nginx.conf

 location / { auth_pam "Restricted"; auth_pam_service_name "nginx"; } location ~ ^/dav/(.*)$ { alias /home/$remote_user/$1; dav_methods PUT DELETE MKCOL COPY MOVE; dav_access group:rw all:r; create_full_put_path on; } location ~ ^/home/(.*)$ { alias /home/$1; } 

/etc/pam.d/nginx

 auth required pam_listfile.so onerr=fail item=group sense=allow file=/usr/local/nginx/conf/nginx.group auth required pam_unix.so account required pam_unix.so 

/usr/local/nginx/conf/nginx.group

 home 

curl -T test.txt'http :// gert:[email protected]/dav/ '

curl'http:// friend:[email protected]/home/gert/test.txt '