client_body_temp_path - permissions

Pavel V. pavel2000 на ngs.ru
Пт Июн 2 15:52:16 UTC 2017


Здравствуйте.

> Я уточню чтобы меня понимали.

> Мы используем директиву - client_body_in_file_only clean; для получения
> файлов от клиента при аплодинге, указываем директорию в директиве
> client_body_temp_path, все работает хорошо, только пермишены файлов в этой
> папке 0600.

Да, теперь увидел информацию об этой возможности.

В описании директивы "client_body_temp_path" про такую возможность не сказано ни
слова. 

При наличии директивы "client_body_in_file_only" и переменной
"request_body_file" ограничение 0600 конечно излишне жесткое и вот это шаманство
в коде nginx:

  if (r->request_body_file_group_access) {
      tf->access = 0660;
  }

выглядит несколько забавно.

Т.е. директиву client_body_in_file_only и переменную $request_body_file добавили, а
прав на файлы - добавить забыли.

Т.к. нигде не указано, что этими директивой/переменной можно пользоваться только
при использовании DAV (это единственный случай, когда файл создается с правами
0660), то явно требуется изменение прав по-умолчанию.

На мой взгляд, в имеющейся ситуации нужно безусловно создавать файлы с правами
доступа 0660, без создания дополнительных "рычажков".

> Спасибо, но проблема ручных патчей в будущей поддержке, нужно не забывать
> всегда патчить новые версии Nginx, и потом тестировать...
> Будет очень хорошо если его закомитят и будет работать из коробки.

Конечно это было бы очень хорошо, но и иметь возможность запатчить и
использовать - это лучше чем не иметь такой возможности.


-- 
С уважением,
 Pavel                          mailto:pavel2000 at ngs.ru



Подробная информация о списке рассылки nginx-ru