sudo su와 just su의 차이점은 무엇입니까?

sudo su와 just su의 차이점은 무엇입니까?

sudo su나는 입력하면 루트 권한이 있는 대화형 프롬프트가 표시된다는 게시물을 많이 보았고 vs 의 장단점을 논의하는 게시물도 많이 보았습니다 .sudo -isudo su

나는 여기 앉아서 왜 사람들이 글을 쓰지 않는지 머리를 긁적입니다 su. 결국...su 부족대체 사용자그리고 기본적으로 루트로 전환되는데 꼭 작성해야 합니까 sudo su?

답변1

간단하게 사용할 수 있다면 su그렇게 해야 합니다.

그러나 대부분의 최신(데스크탑) Linux 배포판(예: Ubuntu)에서는 루트 사용자가 비활성화되어 있으며 비밀번호가 설정되어 있지 않습니다. 따라서 루트 사용자로 전환할 수 없습니다 su(시도해 볼 수 있음). 루트 권한으로 sudo:를 호출해야 합니다 sudo su.

답변2

sudo su, sudo -i기타 모든 항목에는 sudo사용자 비밀번호가 필요합니다.

su루트 비밀번호가 필요합니다.

답변3

두 프로그램 모두 suid root입니다. sudo su사람들이 sudo -i-Esudo 옵션에 익숙하지 않거나 해당 작업이 수행되는 이유를 이해하지 못한 채 루트로 작업을 수행하는 데 익숙하지 않은 경우에는 입력할 이유가 없습니다 . su 명령은 일부 하드코딩된 환경 변수를 전달합니다(또는 최근 Linux에서는 -p전체 환경을 전달 하는 데 사용할 수 있음 ). 반면 sudo는 전달되는 변수를 정확하게 제어할 수 있습니다( $DISPLAY유용한 예를 들어보세요). su 명령은 대상 사용자의 비밀번호(기본 pam 스택 가정)만 묻는 메시지를 표시할 수 있는 반면, sudo는 소스 또는 대상 사용자로 인증하거나 둘 다 인증하지 않거나 항상 루트 사용자로 인증하도록 구성할 수 있습니다. 명령에서 이 작업을 수행할 수 있습니다. 명령 은 su재설정 $HOME되고 sudo는 사용 가능한 규칙 세트에 따라 결정할 수 있습니다. 이는 존재할 필요가 없는 또 다른 분기 프로세스입니다. 또한 sudo는 실행되는 명령을 기록하므로 sudo -i쉘을 실행하거나 시작하지 않는 한 다음을 얻을 수 있습니다.방법더 나은 감사 추적을 위해 sudo를 사용하십시오. sudo로 명령을 실행하면 .$PATH에서 두 요소와 빈 요소가 제거된 다음 마지막 요소가 있는지 확인하여 사람들이 /tmp유사한 헛소리에 "ls"라는 쉘 스크립트를 붙여넣는 것을 방지합니다. :)

기본적으로 sudo su이는 sudo 뒤에 손을 대고 아무데도 가지 못하는 것과 같습니다. :)

답변4

이러한 명령 간의 주요 차이점은 해당 기능에 대한 액세스를 제한하는 방식입니다.

su("대체 사용자" 또는 "사용자 전환"을 의미) - 정확히 이 작업을 수행하며 대상 사용자의 권한으로 다른 셸 인스턴스를 시작합니다. 이 작업을 수행할 권한이 있는지 확인하기 위해 대상 사용자의 비밀번호를 묻습니다. 따라서 루트가 되려면 루트 비밀번호를 알아야 합니다. 컴퓨터에 루트로 명령을 실행해야 하는 사용자가 여러 명 있는 경우, 루트 비밀번호를 모두 알아야 합니다. 비밀번호는 동일하다는 점에 유의하세요. 사용자 중 한 명에게서 관리자 권한을 취소해야 하는 경우 루트 비밀번호를 변경하고 액세스를 유지해야 하는 사람에게만 알려야 합니다. 혼란스럽습니다.

sudo(음...니모닉이 무엇인가요? Super-User-DO?)는 완전히 다릅니다. 이는 특정 작업(루트로 명령 실행 등)을 수행할 권한이 있는 사용자를 나열하는 구성 파일(/etc/sudoers)을 사용합니다. 호출되면 이를 시작한 사용자의 비밀번호를 묻습니다. 이는 터미널에 있는 사람이 실제로 /etc/sudoers에 나열된 "joe"와 동일한지 확인하기 위한 것입니다. 누군가의 관리자 권한을 취소하려면 구성 파일을 편집하면 됩니다(또는 구성에 나열된 그룹에서 사용자를 제거하면 됩니다). 이렇게 하면 권한 관리가 더 명확해집니다.

따라서 많은 Debian 기반 시스템에서는 루트 사용자에게 비밀번호가 설정되어 있지 않습니다. 즉, 루트로 직접 로그인할 수 있는 방법이 없습니다.

또한 /etc/sudoers를 사용하면 몇 가지 추가 옵션을 지정할 수 있습니다. 즉, 사용자 X는 프로그램 Y만 실행할 수 있습니다.

일반적인 sudo su 조합은 다음과 같이 작동합니다. 먼저 sudo가 비밀번호를 묻고 허용되는 경우 수퍼유저로 다음 명령(su)을 호출합니다. su는 루트에 의해 호출되므로 대상 사용자의 비밀번호를 입력할 필요가 없습니다. 따라서 /etc/sudoers 파일이 수퍼유저 액세스를 허용하는 경우 sudo su를 사용하면 루트를 포함한 다른 사용자로 쉘을 열 수 있습니다.

관련 정보