Mac 표준 사용자 및 sudo 명령 일부 작업을 수행 해야하는 것. suser 계정에서와

방금 새로운 MacBookPro를 받았습니다. 안전을 위해 하나의 관리자 사용자 auser와 표준 사용자 suser를 작성했습니다. auser를 사용하여 모든 앱 설치를 수행하고 정상적인 사용을 위해 노력할 것입니다.

터미널에서 HD로 새 폴더를 만드는 것과 같이 루트에서 일부 작업을 수행 해야하는 것. suser 계정에서와 같이 이것을 시도했습니다.

$ sudo mkdir /MyApps

suser에 대한 암호를 auser에 입력하려고했지만 작동하지 않는 것 같습니다. 표준 사용자가 로그인 할 때 만찬 사용자가 무엇을 참조하는지 잘 모르겠습니다. 루트 사용자입니까? 아니면 표준 사용자가 sudo 명령을 실행할 수 있습니까?



답변

@Daniel Beck이 제안한대로 / etc / sudoers를 편집하고 suid shell을 생성하는 것 ( 권장 되지 않음) 등 특별한 준비를하지 않는 한 표준 사용자에서 root로 직접 자신을 홍보 할 수 있는 방법은 없습니다. su를 사용하여 관리자 계정으로 전환 한 다음 sudo를 사용하여 루트로 전환하십시오.

su auser -c "sudo somecommand"

비밀번호를 두 번 요청합니다 (지난 5 분 동안 비밀번호를 사용하지 않은 경우 비밀번호는 한 번만 요청 됨). 두 번 모두 사용자 비밀번호를 원합니다 (su는 항상 전환하려는 계정의 비밀번호를 요청하고 sudo는 전환하려는 계정을 요청합니다). BTW, 사용자에게 읽기 권한이없는 디렉토리에서이를 실행하면 오류 메시지 ( “shell-init : 현재 디렉토리 검색 오류 : getcwd : 상위 디렉토리에 액세스 할 수 없음 : 권한 거부”)가 표시됩니다. 여전히 작동합니다.


답변

sudo visudo관리자 계정에서 실행 하고 일반 사용자 계정에 대한 항목을 추가하여 수행 할 수 있도록해야 sudo합니다.

man sudoers그리고 man visudo정확히 어떻게 그렇게하는 방법을 알려드립니다. 한마디로 :

짧은 이름을 가진 일반 사용자 수 있도록 다음과 같은 줄을 추가 짧은 이름이 모든 것을 수행 할 수 :

shortname ALL=(ALL) ALL

ALL예를 들어, 실행이 허용 된 프로그램 이름으로 마지막 을 바꾸어 특정 명령으로 제한 할 수 있습니다 /bin/mkdir.