Cygwin에서 sudo가 누락되었습니다.

Cygwin에서 sudo가 누락되었습니다.

cygwin을 사용하여 Windows 컴퓨터에서 Linux 스크립트를 실행하려고 합니다.

나는 이미 다음의 솔루션을 읽고 시도했습니다.Cygwin에는 'sudo' 명령이 없습니다., 성공하지 못했습니다.

일반 Linux 환경에서 sudo를 사용하는 스크립트가 있습니다. 하지만 cygwin에서 scirpt를 실행하면 다음 오류 메시지가 표시됩니다.

project_common.sh: line 604: sudo: command not found

나는 cygwin에 sudo가 없다는 것을 알고 있으며 앞서 언급한 참조 질문에서는 다음을 사용한다고 말했습니다.

>#!/usr/bin/bash
>"$@"

스크립트를 실행하기 전에 해당 명령을 실행해 보았습니다. 또한 명령을 스크립트에 포함시킵니다. 어느 쪽도 도움이 되지 않습니다. 그래서 내가 무엇을 놓치고 있는지 잘 모르겠습니다.

답변1

sudo파일에서 '를 모두 제거 하고 관리자 권한으로 스크립트를 실행하세요.

즉, Linux의 개념 root과 Windows의 Administrator 개념은 정확히 일치하지 않습니다. 특히 Windows Vista/7에서는 수동으로 수정하거나 스크립트를 추가로 수정해야 하는 권한 문제가 여전히 있을 수 있습니다.

그건 그렇고, 참조된 질문은 당신이 넣어주길 바랐습니다

>#!/usr/bin/bash
>"$@"

이라는 파일에서 sudo으로 실행 권한을 부여한 chmod다음 $PATH와 같은 /sbin. 결과 파일은 명령으로 제공한 매개변수를 실행하는 것 외에는 아무 작업도 수행하지 않습니다. 아이디어는 아무것도 하지 않는 "가짜" sudo를 만드는 것이었습니다. sudo파일에서 '를 삭제할 수도 있습니다 .

답변2

이 시도:

#!/usr/bin/env bash

cygstart --action=runas "$@"

sudo와 유사하게 작동하지만 단점은 UAC 대화 상자를 수동으로 확인해야 한다는 것입니다. 이 스크립트는 내 일부입니다.도트 레포.

답변3

다른 답변이 있습니다스택 오버플로그리고수퍼유저Cygwin 프롬프트에서 높은 권한으로 명령을 실행하는 방법을 보여줍니다. 나는 별칭을 사용하고 있습니다 :

alias sudo="cygstart --action=runas"

외부 프로그램의 매력으로 작동합니다(그러나 쉘 내장은 아님).

sudo chown User:Group <file>

관련 정보