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


2

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

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

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

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

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

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

답변:


2

보낸 사람 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


bash 스크립팅을 배우기 시작했습니다. 그래서 몇 가지 코드를 연습하기 위해 루트 액세스 권한을 원했습니다. 대단히 감사합니다 : *
Stack Overflow 32

1
루트로 코딩하는 것은 매우 나쁜 생각입니다. 잘못한 일이 시스템 전체에 극적인 영향을 미치지 않도록하기 위해 가능한 한 저전력 계정 액세스 권한을 원합니다. 컴파일 된 바이너리를 설치할 때 루트 권한이 필요할 때만 사용하십시오 ./configure ; make ; sudo make install. 아차를 다시 키스합니다.
Trane Francks

훌륭한 의견을 보내 주셔서 감사합니다. 하지만 난 (그 안에 Hackintosh는 설치) 내 PC 나의 원래 맥북에서 테스트거야
스택 오버플로 (32)

@ StackOverflow32를 즐기십시오. :)
Trane Francks

1

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

sudo -s

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.