我使用以下方式将远程 ssh 文件系统安装到我的 Windows 上sshfs-win。但是当我在 Windows 中创建文件时,它们在 Linux 中被标记为可执行文件。
$ ls -l
total 4
-rwxr-xr-x 1 user user 14 Mar 31 20:42 file.txt
注意x
权限。
我该如何预防sshfs-win在文件上设置可执行位?
答案1
您需要将create_file_umask
选项传递给sshfs-win。它是一种umask
选项,但对于新创建的文件(对于目录,您将使用create_dir_umask
,对于两者 - create_umask
)。但我不知道如何传递SSHFS选择sshfs-win当您使用挂载时net use
命令。因此我直接使用命令挂载文件系统sshfs.exe
。我使用以下批处理文件:
SETLOCAL
SET PATH=C:\Program Files\SSHFS-Win\bin;%PATH%
sshfs user@host:/ -p 22 S: -f -C -o idmap=user -o create_file_umask=111 -o dothidden
有些标志不是必需的:(-f
在前台运行)、-C
(使用压缩)和-o dothidden
(在 Windows 中将名称以 开头的文件标记.
为隐藏),但它们很有用。由于您不是将其作为服务而是作为序数进程挂载,因此挂载仅供您的用户使用。当您终止此批处理时,挂载将消失。