[apple] 터미널에서 루트 액세스를 얻기위한 다양한 명령의 차이점

나는 리눅스를 사용했다 : Kali잠시 동안 루트 액세스 권한을 얻으려면 su터미널 에 입력해야했습니다 . 그러나 OSX su -에서는 이것이 무엇을 -의미 하는지 입력해야 합니까?

다음 줄에 입력 su하는 것보다 터미널에 입력하면sh-3.2#

내가 입력하면 반면, su -그럼 내가 얻을 root#다음 줄에.

이 모든 명령의 차이점은 무엇입니까?

또한 터미널에서 루트 액세스 권한을 얻는 다른 명령이 있습니다. (1) su bash
(2)sudo su

이 모든 명령의 차이점을 이해하도록 도와주십시오.



답변

보낸 사람 man su:

-l      Simulate a full login.  The environment is discarded except for
        HOME, SHELL, PATH, TERM, and USER.  HOME and SHELL are modified
        as above.  USER is set to the target login.  PATH is set to
        ``/bin:/usr/bin''.  TERM is imported from your current environ-
        ment.  The invoked shell is the target login's, and su will
        change directory to the target login's home directory.

-       (no letter) The same as -l.

에 관해서는 susudo, 일반적으로 애플 원으로 인정 된 것 sudo루트에서 작업의 선호하는 방법입니다. 기본적 su으로 OS X에서는 루트 계정과 같이 비활성화되어 있습니다. 내가 일을 끝내기 위해 루트를 활성화해야했던 경우는 거의 없습니다.

자세한 내용은 두 맨 페이지를 모두 읽는 것이 좋습니다.

man su
man sudo


답변

당신은 내가 좋아하는 방법을 잊어 버렸습니다.

sudo -s

그것은 새로운 루트 쉘을 만들고 sudo특정 경우에 루트를 부여하거나 거부하기 위해 더 세밀한 액세스와 같은 모든 현대적이고 진보 된 장점을 얻었 으며 사용 여부에 관계없이 적절한 루트 쉘을 설정합니다 bash.

또한 sudo다른 사용자의 암호가 아닌 암호를 묻습니다. 루트의 경우 Apple은 기본적으로 루트 암호를 만들지 않습니다. 이것은 당신이 사용할 대부분의 macOS 시스템에서 tz 거리지 않고 뿌리를 내릴 수있게합니다.


답변