我通过 google 登陆这里,我相信我已经找到了一种在 cygwin 中获得功能齐全的 root promt 的方法。
这是我的步骤。
首先您需要将 Windows 管理员帐户重命名为“root”
通过打开开始菜单并输入“gpedit.msc”来做到这一点
编辑下面的条目
本地计算机策略 > 计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 安全选项 > 帐户:重命名管理员帐户
如果帐户尚未启用,则您必须启用该帐户。
本地计算机策略 > 计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 安全选项 > 帐户:管理员帐户状态
现在退出并登录到 root 帐户。
现在为 cygwin 设置一个环境变量。要做到这一点的简单方法:
右击我的电脑>属性
点击(左侧边栏)“高级系统设置”
点击底部附近的“环境变量”按钮
在“系统变量”下单击“新建...”按钮
对于名称,请使用不带引号的“cygwin”。
对于该值,请输入您的 cygwin 根目录。 (我的是 C:\cygwin)
按 OK 并关闭所有这些以返回桌面。
打开 Cygwin 终端 (cygwin.bat)
编辑文件 /etc/passwd
并换行
管理员:未使用:500:503:U-MACHINE\Administrator,S-1-5-21-12345678-1234567890- 1234567890-500:/home/Administrator:/bin/bash
对此(您的数字和机器名称会有所不同,只需确保将突出显示的数字更改为 0!)
root:未使用:0:0:U-MACHINE\root,S-1-5-21-12345678-1234567890- 1234567890-0:/root:/bin/bash
现在一切都完成了,接下来的部分将使“su”命令起作用。 (不完美,但它的功能足以使用。我认为脚本无法正常运行,但是嘿,你已经到了这一步,也许你能找到方法。请分享)
在 cygwin 中运行此命令以完成交易。
mv /bin/su.exe /bin/_su.exe_backup
cat > /bin/su.bat << "EOF"
@ECHO OFF
RUNAS /savecred /user:root %cygwin%\cygwin.bat
EOF
ln -s /bin/su.bat /bin/su
echo ''
echo 'All finished'
退出 root 帐户并重新进入您的普通 Windows 用户帐户。
在所有这些之后,通过在资源管理器中双击它来手动运行新的“su.bat”。输入您的密码,然后关闭窗口。
现在尝试从 cygwin 运行 su 命令,看看是否一切正常。