Changing ownership of proxy_temp and other temp directories
    Sergey A. Osokin 
    osa at freebsd.org.ru
       
    Thu Mar 16 21:16:40 UTC 2023
    
    
  
Hi,
On Thu, Mar 16, 2023 at 06:19:42PM +0000, Shreenidhi Shedi via nginx wrote:
> 
> I have hosted a nginx server instance and the temp directories are created under /etc/nginx/
> 
> $ ls -ld /etc/nginx/*_temp
> drwx------ 2 nobody root 4096 Mar 16 15:21 /etc/nginx/client_body_temp
[...]
> 
> And I updated to a newer version of nginx which runs in "nginx" user
> context and after that these directory ownership is getting changed
> to nginx:root but the issue is, it happens only on these top
> directories and not directories within these temp directories.
> 
> I did strace on the same to confirm my theory.
[strace is skipped]
It seems like previously nginx' worker process was running under
`nobody' user, so the directory structure has appropriate
permissions.  The configuration setting was changed to `nginx'
user then, and when nginx main process started, it checked and
updated directories permissions according to the new settings.
 
> Now the issue is, why chown happens only on top directory and
> not recursively on all files and directories inside them?
Please take a look in the source code,
http://hg.nginx.org/nginx/file/tip/src/core/ngx_file.c#l598
> Is this a bug or is it fixed in latest version of nginx?
I don't think there's a bug in that part of the code.
As a workaround for the transition content to a new user, it's
easy to run an one line script to update permissions of those
directories.
> I'm currently using nginx-1.22.0. Any help would be appreciated.
I'd recommend to upgrade to the recent version in stable
branch, 1.22.1.
Thank you.
-- 
Sergey A. Osokin
    
    
More information about the nginx
mailing list