Windows 8 下 Cygwin 无法 chmod 700 解决方案
最近刚装上 Windows 8, 装完 Cygwin 后,想去 GitHub 上 clone 一个 repository, 发现 .ssh 目录的权限没设置对,就尝试对其 chmod 700. 但是每次这样做之后,目录的权限就会变成 770, 让我很是诧异。后来 Google 了一下,结合自己的实践,发现用如下方法可以解决这个问题:
首先最好是管理员权限打开 Cygwin, 然后,输入:
[bash]mkpasswd -l -c > /etc/passwd[/bash]
和
[bash]mkgroup -l -c > /etc/group[/bash]
生成与 Windows 相符的权限配置文件。然后在 cygwin/home 文件夹下,将所有内容的群组递归地修改成 Users, 也就是:
[bash]chgrp -R Users .[/bash]
最后,就可以将其下的文件权限修改成正确的了。
后来我发现,如果要彻底根治这个问题,就要把 /etc/passwd 里当前用户的默认群组改写成 Users 组的 Group ID, 而不是 None 组的 Group ID. 在我这里,Users 组的 Group ID 是 545, None 组的 ID 是 513. 把当前用户的相应行中的 513 改成 545 就好了。改后之后重启 Cygwin, 运行
[bash]id[/bash]
命令,就可以查看当前用户和默认用户组。
转载自:http://euyuil.com/blog/windows-8-cygwin-chmod-700-solution/
http://pwcrab.blog.163.com/blog/static/16990382220107267443810/
浙公网安备 33010602011771号