SSH 新文件/目录组写入权限与 FTP 等不同

SSH 新文件/目录组写入权限与 FTP 等不同

我是 Linux(Debian)安装中的非 root 用户,我的主文件夹中现有文件的文件/文件夹权限为 -rw-rw-r--,目录的权限为 drwxrwxr-x,如果我直接登录 SSH(我在 Windows 7 上使用 putty),然后创建一个新文件或文件夹,它会使用这些权限创建它。但是,如果我以任何其他方式登录,例如使用 FTP 或 SFTP 或使用我的文件编辑器(如 Eclipse 或 Sublime Text)或使用其他任何方式(如 win-sshfs),我创建的任何文件或文件夹都没有组写入权限。

我已经将 umask 002 添加到我的 .bash_profile 中,退出所有内容并重新登录,但没有成功。

答案1

此行为特定于 FTP/SFTP 服务器。您未指定正在使用的服务器。

对于 SFTP,我假设是 OpenSSH,因为大多数发行版都使用它。对于 FTP,我没有做任何猜测。


OpenSSH SFTP 服务器不遵循您在 中设置的 umask .bash_profile。相反,它使用自己的 umask 设置。默认情况下,它是一个全局设置。虽然它可以按用户设置,但只能由 root 设置(它在 中配置sshd_config)。

有关详细信息,请参阅SFTP 服务器上传的文件具有错误的权限


另一种解决方案(如上面的链接中所建议的)是使用允许指定上传文件权限的 SFTP 客户端。

例如 WinSCP 允许这样做。

https://winscp.net/eng/docs/ui_transfer_custom

在WinSCP中设置上传文件的权限

(我是 WinSCP 的作者)

相关内容