Я попал сюда через Google, и я действительно считаю, что нашел способ получить полнофункциональный root-запрос в Cygwin.
Вот мои шаги.
Сначала вам нужно переименовать учетную запись администратора Windows в «root». Для этого откройте man start и введите «gpedit.msc».
Измените запись в разделе Политика локального компьютера> Конфигурация компьютера> Параметры Windows> Параметры безопасности> Локальные политики> Параметры безопасности> Учетные записи: переименовать учетную запись администратора
Тогда вам придется включить учетную запись, если она еще не включена. Политика локального компьютера> Конфигурация компьютера> Параметры Windows> Параметры безопасности> Локальные политики> Параметры безопасности> Учетные записи: состояние учетной записи администратора
Теперь выйдите и войдите в учетную запись root.
Теперь установите переменную окружения для cygwin. Чтобы сделать это простым способом: щелкните правой кнопкой мыши Мой компьютер> Свойства
Нажмите (на левой боковой панели) «Расширенные настройки системы»
В нижней части нажмите кнопку «Переменные среды»
В разделе «Системные переменные» нажмите кнопку «Создать ...»
Для названия поставьте «cygwin» без кавычек. В качестве значения введите в корневой каталог cygwin. (Мой был C: \ Cygwin)
Нажмите OK и закройте все это, чтобы вернуться на рабочий стол.
Откройте терминал Cygwin (cygwin.bat)
Отредактируйте файл / etc / passwd и измените строку
Администратор : не используется: 500: 503 : U- MACHINE \ Администратор , S-1-5-21-12345678-1234567890-1234567890- 500: / home / Администратор : / 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 вручную, дважды щелкнув по нему в проводнике. Введите свой пароль и идите вперед и закройте окно.
Теперь попробуйте запустить команду su из cygwin и посмотрите, все ли работает нормально.
what
сценарии, который вы пытаетесь запустить? В оболочке cygwin нет эквивалента sudo - права принадлежат пользователю win, запустившему оболочку cygwin, поэтому ссылка KyleWpppd хороша для избежания ошибок, таких как «неизвестная команда sudo». В вашем случае звучит так, как будто это специфическая проблема со скриптом, который вы хотите выполнить.