macOS에서 'sudo'를 'Standard'사용자로 사용할 수없는 이유는 무엇입니까?

Nov 15 2020

저는 Standard사용자 로서 Mac에서하는 대부분의 "작업"을 수행 합니다 ( 권한없는 사용자를 위한 Apple 용어 ). 또한 앱을 zsh통해 CLI ( 대부분 현재)를 자주 사용합니다 Terminal. 내가 사용하는 MacPorts를을 A와 패키지 관리자 , 및 다양한 유틸리티 등은 find, rsync, launchctl, ip, mount, log, softwareupdate가 자주 발생로서, 등 등 등, 나는 CLI에서 일을하려고하고 무언가가 필요 권한 상승 바이어 sudo명령을 사용합니다.

그러나 :에 따르면 이 문서 , 애플의 사용을 지원하지 않는 것 같습니다 sudo에 의해 Standard사용자 :

관리자 만 sudo를 사용할 수 있습니다. 관리자로 로그인하지 않은 경우 다음 명령을 입력하여 로그인 할 수 있습니다. 여기서 adminUsername 은 관리자 사용자의 이름입니다.

% su adminUsername

:이 서투른 불편 보인다 su후와 sudo. 또한 sudo내가 사용하는 다른 플랫폼에서 작동 하는 방식과 상충됩니다 . 물론 macOS가 GUI에서 일부 작업을 수행하려면 관리자 인증이 필요하지만 일반적으로sudo 작동 하는 방식은 아닙니다 . 즉, 모든 사용자에게 시스템의 관리자가 지정한 작업을 수행 할 수있는 권한이 부여 될 수 있습니다.

나는 "왜"애플은과이 방법으로 만 할 수 있습니다 않는 요청하지 않습니다 의견 여기에 있지만,이 경우 저는 묻습니다 일이 주위에 - CAN sudo은 다른 플랫폼과 마찬가지로 맥 OS에 대한 작업을 할?

답변

5 Seamus Nov 15 2020 at 01:57

sudomacOS 에서는 다른 플랫폼에서와 같이 작동합니다 (적어도 macOS 10.15.6까지는).

"표준"사용자로서 특정 작업을 수행하기위한 권한을 원하거나 필요로하는 경우 해당 권한은 sudoers파일 의 관리자가 부여 할 수 있습니다 . Admin 사용자이자 권한이없는 StandardJoe 사용자 인 경우이 작업은 다소 진부 하지만 작동 방식은 다음과 같습니다.

% su AdminUser
# authentication, and then:
Adminuser %

이제으로 명령을 Adminuser사용 visudo하여 sudoers파일 을 편집 합니다.

Adminuser % sudo visudo

sudoers편집기 에서 파일 이 열립니다 (아마도 pico). 이 다음 단계는되어 있지 방식 일들은 다중 사용자 시스템에서 수행하지만,이 경우에는 한 명의 사용자 만 거기로, 우리는 우리가 컨벤션을 포기 것이다 지점을 만들려고 할 것이다 바람에 '던져주의를 ' :)

sudoers파일에 다음 행을 추가 하십시오.

StandardJoeUser ALL = (ALL) /usr/sbin/visudo

파일을 저장하고 편집기를 종료하십시오. 그런 다음 exit관리자의 셸 :

Adminuser % exit
%

방금 무슨 짓을 한 거죠? StandardJoeUser 사용자에게 sudoers파일 을 원하는대로 변경할 수있는 권한을 부여했습니다 . 이 권한이 있으면 StandardJoeUser로서 필요한 권한을 추가하거나 ALL원하는 경우 Admin 사용자가 사용할 수 있는 권한을 추가 할 수 있습니다.

StandardJoeUser로 계속 진행하기 위해 이제 sudoAdmin 사용자 와 동일한 권한을 부여합니다 .

% sudo visudo
# authenticate with StandardJoeUser's password

다시, sudoers파일이 편집기에서 열립니다. 이번에는 이전에 추가 한 줄 바로 아래에 다음 줄을 추가합니다.

StandardJoeUser ALL = (ALL) ALL

다시 한 번 저장하고 종료하십시오. 이제 StandardJoeUser는 sudoAdmin 사용자와 동일하게 무엇이든 할 수 있습니다 . 관리자 ( su) 로 변경할 필요가 없습니다 . 당신은 할 수있다 sudo당신의 표준 사용자의 자격 증명.

이 변화 의 지혜 에 대한 토론은 SE 규칙에 따라 의견 으로 분류 될 수 있으므로 여기서 중지하겠습니다. 질문에 대한 답은 이제 충분히 명확해야합니다. 예, sudomacOS 에서는 다른 플랫폼에서와 동일하게 작동합니다. 참조한 문서 가 단어의 일부 정의에 따라 부정확 한 것으로 분류 될 수있는 것 같습니다 .