Я попал сюда через Google, и я действительно считаю, что нашел способ получить полнофункциональное корневое приглашение в Cygwin.
Вот мои шаги.
Сначала вам нужно переименовать учетную запись администратора Windows в «root»
Сделайте это, открыв start manu и набрав "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: / Главная / Администратор : / бен / Баш
На это (ваши номера и имя машины будут другими, просто убедитесь, что вы изменили выделенные цифры на 0!)
корень : неиспользованный: 0: 0 : U- MACHINE \ корень , S-1-5-21-12345678-1234567890-1234567890- 0: / корень : / бен / Баш
Теперь, когда все закончено, следующий бит заставит работать команду "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" вручную, дважды щелкнув по нему в проводнике. Введите свой пароль и закройте окно.
Теперь попробуйте запустить команду su из cygwin и посмотрите, все ли работает нормально.