programing

Windows에서 'sudo' 명령을 실행하는 방법

lastcode 2023. 6. 1. 22:45
반응형

Windows에서 'sudo' 명령을 실행하는 방법

창에서 다음 명령을 실행하려면 어떻게 해야 합니까?

$ sudo django-admin.py startproject NEW

?

.sudo명령을 실행합니다.가장 가까운 것은 "관리자 권한으로 실행"입니다.

관리자 신뢰 수준에서 명령을 사용하거나 UI에서 프로그램을 마우스 오른쪽 단추로 클릭하고 "관리자 권한으로 실행"을 선택하여 이 작업을 수행할 수 있습니다.

모든 답변은 새 콘솔 호스트에서 명령을 높이는 방법을 설명합니다.그래서 저는 이렇게 썼습니다: gsudo처럼 행동합니다.Unix/Linux sudo현재 콘솔 내에서 명령을 실행할 수 있습니다.

검도

  • 소스 코드, 설명서 및 릴리스는 https://github.com/gerardog/gsudo 에서 확인할 수 있습니다.

가장 관련성이 높은 기능:

  • 현재 콘솔에서 상승합니다(새 창 없음).
  • 고를 .cmd명령뿐 아니라 PowerShell / WSL / Git-Bash / cygwin / Msys / 명령도 기본적으로 사용할 수 있습니다.
  • 선택 사항: 자격 증명 캐시(UAC 팝업 하나로 여러 번 상승)

설치

  • 스쿱 사용:scoop install gsudo
  • 사용하기: 초릿사용기하콜:choco install gsudo
  • 윙게 사:winget install gerardog.gsudo
  • 수동: https://github.com/gerardog/gsudo/releases/ 에서 최신 릴리스를 다운로드하고 압축을 풀고 경로에 추가합니다.

데모

검도 데모

메모장을 열고 다음 코드를 붙여넣습니다.

@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c cd /d %CD% && %*'"
@echo on

그런 다음 파일을 다음과 같이 저장합니다.sudo.cmd하여 이파을복붙위치에 .C:\Windows\System32합니다.sudo.cmd는 PATH 환경 변수에 대한 것입니다.

명령 명프롬트열다면같은작실수있다행습니할업을음과령를프▁▁like,와 같은 것을 실행할 수 .sudo start ..

명령을 실행할 때 admin 명령 프롬프트 창이 계속 열려 있도록 하려면 메모장의 코드를 다음과 같이 변경합니다.

@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k cd /d %CD% && %*'"
@echo on

설명:

powershell -Commandpowershell 명령을 실행합니다.

Start-Process는 프로세스(이 경우 명령 프롬프트)를 시작하는 powershell 명령입니다.

-Verb RunAs명령을 admin으로 실행합니다.

-Argument-List명령을 인수와 함께 실행합니다.

은 리의주은입니다.'/c cd /d %CD% && %*'.%*모든 인수를 의미하므로, 만약 그랬다면sudo foo bar 프롬프트 " 명프트에실다니행됩"에서 됩니다.foo bar와 bar, foo와 bar이기 에,%*아온다를 합니다.foo bar.cd /d %CD%현재 디렉터리로 이동하는 명령입니다.이렇게 하면 상승된 창을 열 때 디렉토리가 일반 창과 동일하게 됩니다.&&첫 번째 명령이 성공하면 두 번째 명령을 실행합니다.

/c된 후 이며, 이 매개 변수는 "cmd"입니다./k는 창을 열어두기 위한 cmd 매개 변수입니다.

현재 디렉터리 코드에 남아 있는 것에 대한 책임은 Adam Plocer에게 있습니다.

내가만을 .wsudo 소스 오픈소스sudo- 현재 디렉터리의 컨텍스트에서 권한이 높은 프로그램이나 명령을 실행하는 Windows용 CLI 도구입니다.초콜릿 패키지로 제공됩니다.

에이전트 , 에 많이 합니다.sfc /scannow,dism /online /cleanup-image /restorehealth로컬 Chocolatey 패키지를 설치/업데이트하는 데 사용할 수도 있습니다.사용자의 책임 하에 사용하십시오.

설치

choco install wsudo

초콜릿이 이미 설치되어 있어야 합니다.

목적

wsudo 는 Linux 니다입니다.sudo관리자가 아닌 셸 명령 프롬프트에서 권한이 상승된 프로그램(관리자 권한)을 호출하고 현재 디렉터리를 유지하는 Windows용 -like 도구입니다.

은 기존 Host(윈도우 스크립트 호스트CScript 를 5합니다."Start-Process -Wait -Verb runAs ..."smdlet.시스템에 PowerShell 5.x가 이미 설치되어 있을 가능성이 높습니다. 그렇지 않으면 종속성으로 설치할 수 있습니다.

사용.

wsudo현재 디렉터리에서 상승된 권한으로 프로그램 또는 인라인 명령을 실행합니다.예:

wsudo .\myAdminScript.bat 
wsudox "del C:\Windows\Temp\*.* && pause"
wasudo cup all -y
wasudox start notepad C:\Windows\System32\drivers\etc\hosts 

더 자세한 정보를 원하시면 깃허브를 방문해 보세요.

runas명령을 사용하려면 암호를 입력해야 합니다.하려면 UAC를 합니다.Start-Process -Verb runasPowerShell 할 수 .runas지휘권

참조: http://satob.hatenablog.com/entry/2017/06/17/013217

그런 게 있어요.제가 2007년에 Windows용 Sudo를 만든 적이 있습니까? 08? 여기 제가 쓴 보안 문서가 있습니다 - https://www.sans.org/reading-room/whitepapers/bestprac/sudo-windows-sudowin-1726 .http://sudowin.sf.net 도 여전히 작동한다고 꽤 확신합니다.

*nix 이하에서는 실행하지 않기 때문에 일반적으로 실행하지 않습니다.사용자 디렉토리에서 개발을 수행한 후 시스템 디렉토리에 배포합니다.

윈도우즈에서는 run as 명령을 사용할 수 있습니다.리눅스 사용자의 경우 윈도우에서 sudo를 위한 몇 가지 대안이 있습니다. 당신은 이것을 확인할 수 있습니다.

http://helpdeskgeek.com/free-tools-review/5-windows-alternatives-linux-sudo-command/

http://technet.microsoft.com/en-us/library/bb490994.aspx 또는 sudowin - http://sourceforge.net/projects/sudowin/ 명령을 사용할 수 있습니다.

되지 않은 Powershell에서 하려면 "Powershell"을 사용하면 .Start-Process 옵션, 특히 적옵사직용여접로으적하션을한절특히,▁directly로으직,▁the접적▁with▁options.-Verb runas.

그것은 훨씬 더 복잡합니다.sudo특히 추가 옵션을 사용하여 이전 명령을 다시 사용할 수는 없기 때문입니다.명령에 대한 인수를 별도로 지정해야 합니다.

다음은 route 명령을 사용하여 게이트웨이를 변경하는 예입니다.

이는 PS가 상승하지 않았기 때문에 실패합니다.

> route change 0.0.0.0 mask 0.0.0.0 192.168.1.3
The requested operation requires elevation.

이 작업은 UAC를 수락한 후에 수행됩니다.

> Start-Process route -ArgumentList "change 0.0.0.0 mask 0.0.0.0 192.168.1.3" -Verb runas

명령어 에 "" " " " " 를 필요로 .cmd.exe:

> Start-Process cmd -ArgumentList "/c other_command arguments ..." -Verb runas

윈도우의 경우 sudo 명령어가 없으며 $를 입력할 필요도 없습니다.윈도우에서 node.js 명령 프롬프트를 통해 Angular CLI를 설치하기 위해 npm install -g @angular/cli라고 쓴 다음 Enter 키를 누릅니다.잘 작동했습니다.

다음 vbs 스크립트는 권한 상승이 있는 인수를 사용하여 지정된 명령을 실행할 수 있으며 제한된 사용 사례 집합에 대해 원래 unix sudo 명령의 동작을 모방합니다(자격 증명을 캐시하지 않거나 다른 자격 증명으로 명령을 실제로 실행할 수 없습니다).붙였어요C:\Windows\System32.

Set objArgs = WScript.Arguments
exe = objArgs(0)
args = ""
IF objArgs.Count >= 2 Then
   args = args & objArgs(1)
End If
For it = 2 to objArgs.Count - 1
   args = args & " " & objArgs(it)
Next
Set objShell = CreateObject( "WScript.Shell")
windir=objShell.ExpandEnvironmentStrings("%WINDIR%")
Set objShellApp = CreateObject("Shell.Application")
objShellApp.ShellExecute exe, args, "", "runas", 1
set objShellApp = nothing

프롬프트에 예: " " "sudo net start service

조사를 좀 한 후 아래 단계를 시도하여 성공한 것 같습니다.

1. powershell 3 (iex (new-object net)를 사용하여 스쿱을 설치합니다.웹 클라이언트).downloadstring(downloadstring:https://get.scoop.sh ') 2. scoop install --global sudo 3. 환경 경로 변수에 경로(C:\Users\scoop\shims & C:\ProgramData\scoop\shims)를 추가합니다.

관리자로 콘솔을 엽니다.명령 프롬프트 또는 bash -> more를 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택합니다.

을 윈도우즈 Powershell의 시작-프로세스 옵션과 할 수 .-Verb RunAs프로세스를 시작하고 상승시킵니다.다음은 내 sudo 함수의 예입니다.

function sudo {
    Start-Process @args -verb runas
}

예: 메모장에서 호스트 파일을 관리자로 엽니다.

sudo notepad C:\Windows\System32\drivers\etc\hosts

sudo과 같은을 제공합니다.

먼설합다를 합니다.scoop패키지 관리 도구를 사용하고 다음을 실행합니다.

여기에 이미지 설명 입력

사용할 경우scoopsudo명령:

여기에 이미지 설명 입력

막으로다명실수있습다니행할을령마음으로 할 수 .sudo:

여기에 이미지 설명 입력

저는 당신을 돕게 되어 기쁩니다.

sudo 명령을 만들려면 다음 단계를 따릅니다.

  1. C:\ Drive에 폴더 환경을 만듭니다.
  2. env 폴더 안에 bin이라는 이름의 폴더를 만듭니다.
  3. 이제 C:\env\bin을 PATH에 추가합니다.
  4. C:\env\bin에 sudo.bat 파일을 만듭니다.
  5. 코드를 - 모장으로편이여작다성니합 :-
    https://gist.github.com/coder-examples/://gist.github.com/coder-examples/5ca6c141d6d356ddba4e356d63fb2c13

이것이 당신에게 도움이 되기를 바랍니다.

언급URL : https://stackoverflow.com/questions/9652720/how-to-run-sudo-command-in-windows

반응형