设置cygwin中的root用户登录
在windows中模拟linux环境,可以安装cygwin。cygwin安装之后,系统默认的是以你的windows用户名做为cygwin的登录名的。权限却依然是普通用户,看是不是真正的root,只需要看命令提示符是不是“#”,普通用户的是“$”。如图,$表示普通用户。
解决办法:
-
找到cygwin安装目录,在etc文件夹中有一个名为passwd的文件
-
将文件中 Administrator:unused:500:513:U-SHUCB\Administrator,S-1-5-21-699659893-4255586547-1715211970-500:/home/Administrator:/bin/bash。改为如下形式:
root:unused:0:0:U-SHUCB\root,S-1-5-21-699659893-4255586547-1715211970-500:/home/root:/bin/bash
-
在home文件夹中,可以看到Administrator文件夹,再新建一个root文件夹即可
-
再次运行cygwin,如图,#表示已经是root权限用户。
用notepad++打开passwd这个文件,找到以下部分,把其中的windows用户名换成root(共3处都改过来)。
将Administrator替换成root,这个只是改名而已,真正关键部分是红色数字部分,那个才是权限控制,将500和513都改成0,这样才能获取真正的root权限。
w7下删除Cygwin
在Cygwin的卸载中却出现问题:无权限删除文件夹,提示“需要管理员权限”、“需要Administrator权限”即使你已经以Administrator身份登录,依旧无法删除。按照网上的方法,在 DOS下运行“Takeown /F * /R”,更改文件的拥有者无法删除,用Cygwin的安装程序反安装还是不行,最后参照Windows帮助文件的“管理权限项目”搞定。
关键是要给文件夹的权限项目里添加Everyone组,并给予完全控制权限。
具体步骤如下:
1、 右键点要删除Cygwin文件夹,依次选属性->安全->高级->所有者->编辑,将所有者改为你的登录帐户,勾选下方“替换子容器和对象的所有者”。
2、 在 属性->安全->高级对话框中选 权限选项卡,点更改权限,点添加,输入Everyone,点确定添加Everyone帐户,在弹出的对话框中将完全控制后面的允许勾上,确定。
3、 在 属性->安全->高级 高级安全设置对话框中,勾选“使用可从此对象继承的权限替换所有子对象权限”,接下来就可以顺利删除Cygwin文件夹了。