为什么 cygwin 的 scp 在复制到 Linux 时将权限设置为 000?

为什么 cygwin 的 scp 在复制到 Linux 时将权限设置为 000?

当我使用 cygwin 的 将文件从我的 Windows 机器复制到 Linux 机器时scp,权限显示为000。当我从 Linux 复制到 Linux 时不会发生这种情况,所以我认为这与我的 Windows 机器上的某些配置有关。但那个配置在哪里?

编辑:在 下bashumask打印。无论我运行还是 ,0022的行为都是相同的。scpbashCMD

答案1

以下是讨论该问题的其他一些页面。第一个是关于SCP,而第二个是与另一个程序有关的 000 个权限:

显然,这是 Cygwin 在具有 ACL 的 Windows 文件系统上模拟 Unix 类型文件权限时出现的问题。解决方案是修改 Cygwin 的/etc/fstab文件,使 Cygwin 忽略 ACL。从以下文件之一复制:

cp /etc/fstab /etc/fstab.install

回显“无/cygdrive cygdrive 二进制,posix = 0,用户,noacl 0 0”>> / etc / fstab

要激活新设置,请注销并再次登录 logout ssh Adminstrator@hostname 然后停止并启动您的 cygwin 进程。

答案2

运行umask以查看权限是否被屏蔽。设置的位越少,应设置的权限越多。 umask 022是一种常见设置(禁用组和其他人的写入)。

相关内容