Я приземлився сюди через Google, і я фактично вважаю, що знайшов спосіб отримати повністю функціонуючу кореневу промову в cygwin.
Ось мої кроки.
Спочатку потрібно перейменувати обліковий запис адміністратора Windows у "root". Зробіть це, відкривши start manu і ввівши "gpedit.msc"
Відредагуйте запис у розділі Локальна комп’ютерна політика> Конфігурація комп'ютера> Налаштування Windows> Налаштування безпеки> Локальна політика> Параметри безпеки> Облікові записи: Перейменуйте обліковий запис адміністратора
Тоді вам доведеться ввімкнути обліковий запис, якщо він ще не ввімкнено. Локальна комп’ютерна політика> Конфігурація комп'ютера> Налаштування Windows> Налаштування безпеки> Локальна політика> Параметри безпеки> Облікові записи: стан облікового запису адміністратора
Тепер вийдіть та увійдіть у кореневий рахунок.
Тепер встановіть змінну середовища для cygwin. Для цього простий спосіб: Клацніть правою кнопкою миші Мій комп'ютер> Властивості
Клацніть (на лівій бічній панелі) "Розширені налаштування системи"
Унизу натисніть кнопку "Змінні середовища"
У розділі "Змінні системи" натисніть кнопку "Створити ..."
Для назви поставте "cygwin" без лапок. Для значення введіть у свою кореневу директорію cygwin. (Моя була С: \ 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!)
корінь : невикористаний: 0: 0 : U- МАШИНА \ корінь , S-1-5-21-12345678-1234567890-1234567890- 0: / root : / bin / bash
Тепер, коли все закінчено, цей наступний біт змусить команду "су" працювати. (Не ідеально, але він буде достатньо функціонувати. Я не думаю, що сценарії будуть функціонувати коректно, але ей, це ви далеко отримали, можливо, ви зможете знайти спосіб. І будь ласка, поділіться)
Виконайте цю команду в 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'
Вийдіть із кореневого облікового запису та поверніться у звичайний обліковий запис користувача Windows.
Після всього цього, запустіть новий "su.bat" вручну, двічі клацнувши його в провіднику. Введіть свій пароль та йдіть уперед та закрийте вікно.
Тепер спробуйте запустити команду su від cygwin і подивіться, чи все спрацювало добре.
what
сценарій, який ти намагаєшся запустити? Всередині оболонки cygwin немає еквівалента "sudo" - права належать користувачеві win, який запустив оболонку cygwin, тому посилання KyleWpppd добре уникати помилок, таких як "команда sudo unknown". У вашому випадку звучить так, що це певна проблема зі сценарієм, який ви хочете виконати.