Cas*_*taa 79 windows cygwin chmod windows-8-preview
我想的权限更改为我的密钥文件key.pem在Cygwin的1.7.11。它具有权限标志:-rw-rw----
chmod -c 600 key.pem
Run Code Online (Sandbox Code Playgroud)
报告:
'key.pem' 的模式从 0660 (rw-rw----) 更改为 0600 (rw-------)
然而:
ls -l key.pem
Run Code Online (Sandbox Code Playgroud)
仍然报告
key.pem 的权限标志仍然是:-rw-rw----
我问的这个原因是 ssh 在抱怨:
“key.pem”的权限 0660 太开放了。
当我尝试通过 ssh 进入我的 Amazon EC2 实例时。 这是 Cygwin 和 Windows 8 NTFS 的问题还是我遗漏了什么?
Jes*_*hia 99
我在 Win8CP 中使用 Cygwin,我遇到了同样的问题。这绝对是 Cygwin 的错误,但有一个解决方法:尝试运行:
chgrp -R Users ~/.ssh
Run Code Online (Sandbox Code Playgroud)
更长的解释是,出于某种原因,Cygwin/etc/passwd和/etc/group一代将用户的默认/主组设置为None. 并且您无法更改 的权限None,因此chmodfor 组无效。
我没有尝试自己修复passwd/group文件,但我确实做了chgrp -R Users ~/.ssh(或者,如果您使用的是 Windows 8 预发布版,则使用组名HomeUsers)。之后,您可以执行该操作chmod 0600,它会按预期工作。
在chgrp该Users组中可以找到哪些其它类似的情况来完成。它甚至可以按预期工作,因为 Cygwin 将用户放在Users组中作为辅助组(而不是主要组,这将是正确的行为)。
Luk*_*Lee 28
从 Cygwin 1.7.34 (2015-02-04) 开始,将组更改为Users不再有效的方法。相反,您需要使用 Cygwin 的setfacl实用程序。
说,如果你想设置文件模式来644 (rw-r--r--)做到这一点:
setfacl -s u::rw-,g::r--,o:r-- foo.bar
Run Code Online (Sandbox Code Playgroud)或使用更长的格式:
setfacl -s user::rw-,group::r--,other::r-- foo.bar
Run Code Online (Sandbox Code Playgroud)或使用getfaclfrom file footo复制其模式bar:
getfacl foo | setfacl -f - bar
Run Code Online (Sandbox Code Playgroud)Cygwin 用户指南的“setfacl”部分提供了完整的手册。我想知道为什么 Cygwin 还没有chmod同样改变效用。
小智 11
这是一个使用 Luke Lee 的建议但支持八进制参数(如 chmod)的脚本。它提供了一个可以扩展的框架。尽管它目前仅支持修复 key.pem 和/或 ~/.ssh 目录和文件的权限所需的八进制参数。
#!/bin/bash
# convert chmod octal permission args to equivalent setfacl args
ARGS=() ; FILES=()
while [ $# -gt 0 ]; do
A=$1 ; shift
case "$A" in
600|0600) ARGS+=("u::rw-,g::---,o::---") ;;
640|0640) ARGS+=("u::rw-,g::r--,o::---") ;;
644|0644) ARGS+=("u::rw-,g::r--,o::r--") ;;
700|0700) ARGS+=("u::rwx,g::---,o::---") ;;
*) if [ -e "$A" ]; then FILES+=( "$A" ) ; else
echo "unrecognized arg [$A]" 1>&2
exit 1
fi
;;
esac
done
for F in "${FILES[@]}" ; do
setfacl -s "${ARGS[@]}" "$F"
done
Run Code Online (Sandbox Code Playgroud)
我用它来修复我的 .ssh 目录和文件:
chmodfacl 700 ~/.ssh
chmodfacl 600 ~/.ssh/*
chmodfacl 640 ~/.ssh/*.pub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40263 次 |
| 最近记录: |