macOS에서 'sudo'를 'Standard'사용자로 사용할 수없는 이유는 무엇입니까?
저는 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에 대한 작업을 할?
답변
sudo
macOS 에서는 다른 플랫폼에서와 같이 작동합니다 (적어도 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로 계속 진행하기 위해 이제 sudo
Admin 사용자 와 동일한 권한을 부여합니다 .
% sudo visudo
# authenticate with StandardJoeUser's password
다시, sudoers
파일이 편집기에서 열립니다. 이번에는 이전에 추가 한 줄 바로 아래에 다음 줄을 추가합니다.
StandardJoeUser ALL = (ALL) ALL
다시 한 번 저장하고 종료하십시오. 이제 StandardJoeUser는 sudo
Admin 사용자와 동일하게 무엇이든 할 수 있습니다 . 관리자 ( su
) 로 변경할 필요가 없습니다 . 당신은 할 수있다 sudo
당신의 표준 사용자의 자격 증명.
이 변화 의 지혜 에 대한 토론은 SE 규칙에 따라 의견 으로 분류 될 수 있으므로 여기서 중지하겠습니다. 질문에 대한 답은 이제 충분히 명확해야합니다. 예, sudo
macOS 에서는 다른 플랫폼에서와 동일하게 작동합니다. 참조한 문서 가 단어의 일부 정의에 따라 부정확 한 것으로 분류 될 수있는 것 같습니다 .