Каталоги обычно создаются со всеми установленными битами разрешений (, см., например, mkdir
, когда режим не указан явно ), , за исключением тех, которые маскируются текущим umask
, поэтому вы можете установите это для интересующего вас пользователя;
umask 013
даст нужный вам результат при таких обстоятельствах.
Конкретные sftp
требования см. в разделе Правильный способ установки umask для транзакций SFTP?
Другие подходы можно использовать, если ваша файловая система поддерживает списки ACL и вам не нужно ограничивать их одним пользователем; см. Как установить права доступа к файлам по умолчанию для всех папок/файлов в каталоге? для получения подробной информации.
удалить установленную службу
systemctl disable nginx
И попробуйте заменить сервисный файл nginx этим шаблоном
# /etc/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true
[Install]
WantedBy=multi-user.target