每个上传的文件都有错误的权限,所以我的 Web 服务器 (Nginx) 无法读取它们。当我通过运行手动调整它们时,sudo chmod -R 755 /var/www/*
它会再次工作,但每次上传新文件时我都必须这样做。如何自动将通过 SFTP 上传的文件的所有权限设置为 755?
我还尝试将这一行添加到 sshd_config:
Subsystem sftp internal-sftp -u 0022
答案1
首先,让文件可执行是个坏主意,所以更好的解决方案应该是执行文件夹 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