Каждый загруженный файл имеет неправильные разрешения, поэтому мой веб-сервер (Nginx) не может их прочитать. Когда я вручную настраиваю их, запустив sudo chmod -R 755 /var/www/*
он снова работает, но мне придется делать это каждый раз, когда я загружаю новый файл. Как я могу автоматически установить все права доступа для файлов, загружаемых через SFTP, на 755?
Я также попытался добавить эту строку в sshd_config:
Subsystem sftp internal-sftp -u 0022
Во-первых, иметь исполняемые файлы - плохая идея, поэтому лучшим решением будет создание папок 755 и файлов 644 (или 640).
find /var/www/ -type d -exec chmod 755 {} \;
find /var/www/ -type f -exec chmod 644 {} \;
Теперь, чтобы убедиться, что файлы загружаются с определенными разрешениями, проверьте umask
https://docs.oracle.com/cd/E19683-01/817-3814/userconcept-95347/index.html
Измените / etc / ssh / sshd_config следующим образом:
Subsystem sftp internal-sftp -u 0022
А если у вас есть группа:
Match Group xyz
.
.
.
ForceCommand internal-sftp -u 0022