Windows 10 cmd sudo

5 альтернатив Windows Linux для команды sudo

Если вы когда-либо использовали Linux или знаете кого-то, кто использует Linux, то вы, вероятно, слышали о команде sudo. Команда является критически важным компонентом практически для каждого дистрибутива Linux, и она позволяет вам запускать команду от имени другого пользователя, прежде всего пользователя root. В некоторых дистрибутивах Linux вы можете войти в систему как пользователь root с помощью команды su, но это считается очень рискованным, и никто никогда этого не делает.

На самом деле, это настолько опасно, что по умолчанию оно отключено в дистрибутивах Linux, таких как Ubuntu. Вместо этого вы должны использовать команду sudo, если вы хотите запустить команду от имени пользователя root. Так что насчет Windows? Что ж, к сожалению, большинство людей вошли в Windows как администраторы, что аналогично пользователю root в Linux. Тем не менее, Microsoft попыталась уменьшить опасные последствия входа в систему в качестве администратора, включив контроль учетных записей или UAC.

Таким образом, даже если у пользователя есть права администратора, приложения, работающие под этой учетной записью, не наследуют эти привилегии, если пользователь не авторизовал их вручную. Это помогает предотвратить заражение вредоносного и шпионского ПО пользователем Windows, вошедшим в систему как администратор.

Итак, в то время как у пользователей Linux есть команда sudo, что есть у пользователя Windows? Существуют ли альтернативы, которые пользователи Windows могут использовать для запуска команд с повышенными привилегиями? Есть ли команда sudo для Windows? В этой статье я расскажу о пяти альтернативах команде sudo для пользователей Windows.

Примечание . Некоторые из этих инструментов уже устарели, поэтому они могут работать или не работать с последними версиями Windows.

Команда Windows Runas

В Windows есть команда runas, которая является прямым аналогом sudo в Linux. Используя команду runas, вы можете выполнить скрипт, программу или команду как другой пользователь или как администратор. Полный синтаксис команды runas:

Если вы хотите открыть административную командную строку, вы можете ввести следующее:

/ noprofile не будет загружать текущий профиль пользователя. Вы можете удалить это, если вам нужен доступ к переменным среды пользователя. Если вы хотите открыть текстовый файл с помощью Блокнота с правами администратора, вы можете использовать эту команду:

Вы можете проверить страницу Technet на runas для получения дополнительной информации о том, как его использовать.

Обратите внимание, что при использовании команды runas, если вы устанавливаете программу или вносите изменения в настройки и т. Д., Изменения будут внесены в учетную запись пользователя, для которой вы запускаете команду. Например, допустим, у вас есть пользователь X, который является обычным пользователем, и пользователь Y, который является администратором. Если вы войдете в X, а затем выполните runas с использованием учетных данных Администратора, будут внесены изменения в настройки Администратора, а не пользователя X.

Поэтому, если вы устанавливаете приложение, щелкнув правой кнопкой мыши по файлу EXE и выбрав «Запуск от имени администратора», оно будет установлено во встроенный профиль пользователя «Администратор», а не в тот, в который вы вошли. Если вы хотите действительно повышенные привилегии, такие как sudo, без проблем с профилем, проверьте следующую альтернативу ниже.

Sudo для Windows — Sourceforge

Sudo for Windows — это бесплатная программа, которую вы можете установить, которая даст вам ту же возможность, что и команда sudo в Linux для Windows. Единственное отличие состоит в том, что Sudo для Windows «сохраняет профиль пользователя и права собственности на созданные объекты», как заявлено разработчиком. Это действительно удобно, если вы хотите использовать повышенные разрешения для установки приложений или внесения изменений в такие местоположения пользователей, как «Мои документы» и т. Д.

Это даст вам административные привилегии, но сохранит все изменения в текущем профиле вместо учетной записи, с которой вы используете команду. Программа требует .NET версии 2.0, которую вы не можете скачать отдельно. Чтобы получить 2.0, вам нужно установить .NET Framework 3.5, который включает 2.0.

Читайте также:  Mac os как устанавливать kext

После установки Sudo для Windows вам нужно добавить учетные записи пользователей, которым вы хотите предоставить повышенные привилегии, в конкретную группу, созданную программой под названием Sdodoers . Щелкните правой кнопкой мыши на «Мой компьютер» или «Этот компьютер» и выберите « Управление» . Затем разверните « Пользователи и группы» и нажмите « Группы» . Вы должны увидеть человека под названием Sudoers .

Дважды щелкните на Sudoers и нажмите кнопку Добавить .

В следующем диалоговом окне нажмите кнопку « Дополнительно» и нажмите « Найти сейчас» . Это перечислит всех пользователей и группы в системе. Дважды щелкните по пользователю, которого хотите добавить.

Повторите этот шаг для любого количества пользователей, которых вы хотите добавить. Затем нажмите OK, и вы должны увидеть членов, перечисленных в списке членов, показанном выше. Нажмите OK, и теперь вы сможете использовать графический интерфейс и команду sudo. Если вы щелкните правой кнопкой мыши программу, вы увидите вариант Sudo .

Вы также можете открыть командную строку и ввести sudo для запуска команды с повышенными правами доступа.

В целом, это довольно изящно и работает очень хорошо. Однако обратите внимание, что эта конкретная программа действительно полезна для запуска программ или процессов с помощью щелчка правой кнопкой мыши или через командную строку, но она не предназначена для запуска приложений командной строки. Например, если вы хотите выполнить команду sudo mkdir «c: \ Program Files \ new», это не сработает при использовании Sudo для Windows. Для этой функции есть другая программа, которая называется той же самой, но другой разработчиком. Читай ниже.

Судо для Windows — Люк Сэмпсон

Есть еще один разработчик, который написал еще один Sudo для Windows, который также позволяет запускать приложения командной строки. Итак, давайте вернемся к примеру создания новой папки в C: \ Program Files. Вы не можете сделать это по умолчанию.

Выше я использую PowerShell, но вы получите ту же ошибку с помощью командной строки. Однако, как только вы установите Sudo для Windows, просто добавьте слово sudo в начале команды, и оно работает без ошибок!

Чтобы установить его, вам нужно открыть PowerShell, а затем ввести следующие команды по порядку:

Если все работает нормально, вы должны увидеть следующий вывод в PowerShell после каждой команды:

Это оно! Теперь вы можете начать вводить команды и добавлять sudo впереди. Единственное, что раздражает в этой программе, это то, что окно UAC все еще всплывает, и вы должны нажать Да, чтобы оно заработало. Даже с этим небольшим раздражением выгоды того стоят.

возвысить

Elevate — это программа, которая работает с UAC и не работает точно так же, как sudo. С Elevate он изменит исполняющего пользователя на Администратора, как это делает команда runas. Однако это полезно для работы в командной строке или с пакетными файлами.

Основная цель elevate — не обойти UAC, а запустить процесс с повышенными правами из невыделенной оболочки, а затем продолжить работу в обычном режиме даже после завершения команды. Elevate полезен для сценариев, потому что вам не нужно беспокоиться о попытке сценария всего щелчка правой кнопкой мыши и запуска командной строки как процесс администратора.

Высота PowerToys для Windows

Для тех из вас, кто много работает в командной строке или работает со сценариями и пакетными файлами, на странице Elevation PowerToys для Windows есть довольно много полезных инструментов и сценариев.

Игрушки для повышения уровня скриптов были созданы для преодоления неприятных аспектов UAC при попытке поднять программу из командной строки или запускать скрипты в качестве администраторов.

Надеюсь, вам хватит инструментов и программ, чтобы вы почувствовали, что на самом деле используете sudo в Windows. Там нет идеальной замены, но есть несколько вариантов, которые подходят близко. Если вы используете что-то еще для повышения уровня программ, команд или скриптов в Windows, сообщите нам об этом в комментариях. Наслаждайтесь!

Есть ли в Windows команда аналогичная команде «sudo» в Linux?

С точки зрения безопасности, работать под администратором в Windows не самое правильно решение. Однако, никто этим вопросом не заморачивается, особенно на домашних компьютерах. Ведь так гораздо удобнее, чем дополнительно создавать пользовательскую учётную запись и постоянно вводить пароль администратора при любых изменениях в системе.

В операционной системе Linux все серьёзные настройки производятся с правами суперпользователя (root), аналог администратора в Windows. Правда, в отличие от «винды», в Linux сразу, при установке системы, предлагается создать обычного пользователя и работать уже от его имени.

Читайте также:  Журнал критических событий windows 10

Когда требуется выполнять какие-то действия от имени другого пользователя, в том числе и от суперпользователя, есть команда sudo. Выполняется она в терминале. В Linux вообще практически любые действия можно выполнять в терминале, но это отдельная большая тема, потому не будем сейчас в неё углубляться.

Пользователям Windows подобный подход тоже знаком. Наверняка вам приходилось запускать выполнение каких-то команд или программ от имени Администратора. По крайней мере вы встречали такой пункт в меню. Например, такой режим командной строки Windows может потребоваться для выполнения некоторых команд, вроде cброса настроек протокола TCP/IP и Winsock при сбоях в работе сети:

netsh winsock reset

Выполнение команд в Windows от имени другого пользователя

Недавно у меня был странный случай с Windows Server 2012. Удалённо не удавалось войти в учётную запись Администратора, так как система никак не могла завершить предыдущую сессию. Такая же ситуация была и с несколькими пользователями, которые в это время работали на сервера. В общем, по непонятным причинам, Windows на серваке частично встала раком.

Зайти на сервер удалось под одним из пользователей, но на перезагрузку у него естественно прав не было. Запустить командную строку cmd от имени администратора или выбрать такой вариант в свойствах ярлыка система тоже не давала. Тут то мне и пригодилась команда runas, предназначенная для выполнения команд под учетной записью пользователя, указанной в качестве параметра командной строки:

runas /user:администратор «shutdown /r»

Признаю, что опыт весьма специфический, но возможно кому-то пригодится.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Комментариев: 3

sudo в виндовсе можно сделать батником-«костылём» sudo.cmd , поместив его в windows\system32 :

Дмитрий, т.е. и из под обычного пользователя без пароля запустится? али ж нет?

Art, не запустится: в зависимости от версии виндовс и ее настроек либо спросит имя и пароль пользователя с правами администратора, либо выдаст ошибку «в доступе отказано»

Есть ли команда «sudo» для Windows?

Я всегда работаю над учетной записью, отличной от администратора, на моем компьютере под управлением Windows. Иногда мне нужно установить программы, требующие доступа администратора. Поскольку в основном я использую командную строку Windows, есть ли команда Windows для эскалации привилегий, аналогичная команде терминала Linux sudo ?

14 ответов

для запуска командной оболочки в качестве администратора

Я обнаружил поднять сегодня, когда «выполняет команду с повышением привилегий UAC. Это полезно для работы внутри командной строки или с пакетными файлами. » Это не то же самое, что sudo , он меняет исполняющего пользователя на Администратора, но его синтаксис намного проще использовать, чем runas , и он может поддерживать текущий каталог, позволяя использовать относительные пути.

Цель Elevate — не работать или обходить UAC (User Account Control), а работать с ним. Пока UAC включен, имеет , чтобы быть каким-то приглашением в some в процессе. Если вам нужно полностью избавиться от запроса, вы должны отключить UAC .

Устранение болевых точек повышает эскалацию определенного процесса из непривилегированной оболочки, а затем продолжается как обычно. Без этого вам нужно запустить привилегированное командное приглашение с помощью правой кнопкой мыши> «Запуск от имени администратора» , который не может быть легко написан сценарием, прежде чем пытаться выполнить привилегированную команду.

Вы можете использовать команду runas , которая является похожей, или вы можете проверить sudo для Windows над SourceForge , который добавляет команду sudo.

Предположим, у вас есть два пользователя. Боб — обычный пользователь, а Джеймс — администратор.

Если вы входите в систему как Bob и используете «runas james acommand», команда запускается так, как если бы ее запускал Джеймс, поэтому он обращается к пользовательским настройкам Джеймса, и любые изменения пользователя переходят в James My Documents & папок настроек и т. д. Поэтому, если вы устанавливаете приложение, скажем, оно будет установлено как Джеймс, а не как Боб.

Если, с другой стороны, Боб делает «sudo acommand», команда все еще выполняется как Bob, но с повышенными разрешениями — точно так же, как команда sudo для Linux. Чтобы пользователь не мог судиться, вы должны определить группу пользователей sudoers, которая содержит список обычных пользователей, у которых есть разрешение на повышение с помощью sudo. Пользователям по-прежнему необходимо предоставить учетные данные перед повышением.

Читайте также:  You are in windows config mode

Иногда разница не важна, иногда это так, и я считаю, что обе команды могут быть полезны.

Если вы готовы перейти на альтернативные консоли, ConEmu (я автор). Одна из его функций — возможность запускать как увеличенные, так и невыполненные вкладки в одном окне ConEmu. Вкладки могут запускаться с разными учетными данными.

Для удобства пользователя существует пакетный файл csudo.cmd (который может быть легко принят в bash). Прочтите полное описание в вики проекта . Вкратце, когда вы запускаете какую-либо команду из существующей вкладки с невыполнением, например

ConEmu запустит dism на новой повышенной консоли /вкладке (с предыдущим приглашением UAC в окне Vista или Login в XP).

По умолчанию csudo запускает новую консоль в расколе (могут быть изменения с помощью редактирования содержимого csudo.cmd ).

И, конечно, вы можете переименовать его в sudo.cmd , если вам нравится слово «classic» sudo .

Быстрый метод:

Три шага для добавления sudo.

Скопируйте следующий скрипт (Ctrl + C) и вставьте его в PowerShell (Alt + Space + E + P):

Он будет постоянно включать команду sudo в PowerShell.

Использование:

Длинный метод обучения:

  • Прочитайте эту статью .
  • Прочитайте комментарии.
  • Взгляните на хранилище git репозитория Стивена и файл readme .

Примечание. Я смешал сценарий из обеих статей, чтобы создать вышеупомянутый скрипт. Скорее вручную вставив скрипт в блокнот, я добавил операторы Out-File для сохранения файлов ps1 и $profile из сценария.

Совет. Если вы не очень любите всплывающие окна UAC (например, я), сохраните следующее в файле * .reg и запустите его:

Если вы делаете это в Windows, то в дополнение к команде Run As, как упоминалось в нескольких других ответах, есть также способы сделать это с помощью мыши.

Если вы удерживаете клавишу Shift при щелчке правой кнопкой мыши по большинству исполняемых файлов в Windows, вы должны заметить еще несколько дополнительных опций. Один из них — это опция Run As. «(я думаю, что она называется« Run As Administrator »из Vista).

Вы также можете загрузить более продвинутую версию RunAs от Microsoft, называемую ShellRunAs , это улучшает встроенную команду RunAs, как в командной строке, так и в графическом режиме, в том числе позволяет вам сохранять учетные данные учетной записи

Surun — это бесплатное приложение с открытым исходным кодом, которое позволяет определенным программам работать с правами администратора, без предоставления пароля без изменения реестра пользователя или изменения переменных среды.

Когда я пользовался Windows XP, это приложение мне очень помогает. Beta работает под Windows 7.

Как вы, вероятно, обнаружили, runas позволит вам запускаться как другой пользователь, но он не может выполнять возвышение и не передает текущие каталоги, переменные окружения или длинные командные строки.

оболочка Hamilton C разрешает это с подлинным su и sudo. su позволяет запускать команду в качестве другого пользователя; sudo (на самом деле псевдоним su) позволяет вам выполнить команду повышенной. Вы также можете сделать то и другое, работая под повышенным уровнем как другой пользователь. Текущие каталоги, переменные окружения и длинные командные строки передаются посредством рукопожатия с общей памятью между su, выполняющимся в контексте вызывающего абонента, и копией самой работы, выполняемой как интерлюдия, с новыми учетными данными, которые затем запускают дочерние элементы. Полное раскрытие: я автор.

Этот скрипт выполняет задание:

Сохраните его как sudo.cmd , затем добавьте его в свой PATH

Примечание: runas означает в этом контексте «Запуск от имени администратора», а не «Запуск от имени другого пользователя»

взяты здесь и слегка отредактирован, чтобы удалить заголовок cscript.exe из вывода

Самое простое решение, на мой взгляд, заключается в том, чтобы использовать powershell для работы, которая является переносной и будет запрашивать пользователя с использованием UAC.

Вы можете просто запустить это в любой оболочке (cmd или powershell)

Замените рабочую замену sudo для терминала Cygwin mintty , чтобы поместить следующий скрипт в PATH пользователя:

Для меня это единственная жизнеспособная замена для повышения привилегий таких программ, как vim или cygrunsrv во время работы в терминале в Windows.

Следующий скрипт vbs делает трюк для меня. Я положил его на C:\Windows\System32

Пример использования в командной строке sudo net start service

Для него есть шоколадный пакет с удобным названием sudo . Вы можете установить пакет с шоколадным с помощью этой команды:

Затем в любой оболочке Windows /MS, которую вы должны использовать, вы можете использовать sudo , как ожидалось.

Оцените статью