由于您的组,如何确定您是否可以使用 SFTP 写入文件?

How to determine if you can write to a file with SFTP because of your group?

您可以 mode & 00002 查看文件是否可由 public 写入,您可以获得目录列表并查看文件的所有者是否与您登录的用户匹配(尽管 stat 通常不会 return SFTPv3 服务器的 longname,这是您从中获取用户名所需要的)但是组权限呢?

我想您可以在文件系统上创建一个文件,查看它的组是什么,然后查看该组是否与相关文件的组匹配。但是,如果相关文件的组是您所属的次要组怎么办?那时,当您收到统计响应时,您将看不到该组。

有什么想法吗?

尝试打开文件进行写入。您不必向其中写入任何内容。如果打开失败并显示 SSH_FX_PERMISSION_DENIEDSSH_FXP_STATUS 响应),则您没有写入权限。

SSH_FXP_OPEN 请求的 pflag 字段中使用 SSH_FXF_WRITE 位。