问题描述:
cygwin 在 win10下安装完成后使用当前用户登录后看所在磁盘的文件权限是没有问题的,但在cygwin编译出来的文件的权限为空,这个问题可以使用以下方法来解决:
解决办法:
将cygwin修改为使用root用户登录
找到cygwin的etc目录中有一个名为passwd的文件。
用UE或记事本打开passwd这个文件,找到以下部分,把其中的windows用户名换成root(共3处都改过来)。 加一处Administrators替换成root
Administrator :unused: : :U-PC-201103250049\Administrator ,S-1-5-21-1343024091-57989841-1417001333-500:/home/Administrator :/bin/bash
蓝色 部分是替换成root,这个只是改名而已,真正关键部分是红色 部分,那个才是权限控制,将500和513都改成0,这样才能获取真正的root权限,改成如下:
root:unused:0:0:U-PC-201103250049\root,S-1-5-21-1343024091-57989841-1417001333-500:/home/root:/bin/bash,需要注意的是如果你使用当前用户为AA,那么还需要修改 passwd文件中AA的那一行,这样在windows下你使用AA用户在cygwin登录后才会是root的权限 在cygwin的home目录下面建立目录root 以管理员身份启动cygwin进入以后,就会以真正的root权限运行了
第6、7点可以验证是真实的root用户
普通用户提示符$;root用户提示符#
#cd ~ 输出/home/root
遗留问题:
原windows下资源管理器创建的文件及目录在cygwin下ll 命令下没用权限(可以通过chmod给权限),属组无(chown不可改属组);cygwin新建文件目录权限正常,如图: 1.txt cygwin创建
2.txt windows资源管理器创建