sudo에 루트 비밀번호를 설정하는 것이 가장 좋은 방법입니까, 아니면 그 반대입니까?

sudo에 루트 비밀번호를 설정하는 것이 가장 좋은 방법입니까, 아니면 그 반대입니까?

sudoers사용할 때마다 사용자 비밀번호 대신 루트 비밀번호를 묻도록 설정했습니다 sudo. 주로 루트 명령을 실행하려면 루트 비밀번호를 알아야 한다는 것이 합리적이라고 생각하기 때문입니다.

그러나 이것이 보안 위험으로 간주될 수 있습니까?

그렇지 않다면 이것이 대부분의 배포판에서 기본 구성이 아닌 이유는 무엇입니까?

편집: 나는 유일한 사용자인 개인 Linux 상자를 실행하고 있습니다. 이 경우에는 이 이유가 더 의미가 있습니까? 다중 사용자 시스템에서는 이것이 작동하지 않을 수도 있다고 생각합니다.

배경: 내 경험은 단지 "동의어"인 sudo시스템에 관한 것입니다 . 사용자 비밀번호만 입력하면 루트 명령을 실행할 수 있다는 점은 애초에 루트의 목적을 무너뜨리는 것이라고 생각합니다. 그래서 내 추론은 루트 비밀번호를 묻는 것입니다. 즉, 나는 this 의 강력한 기능을 알지 못하지만 일부 사용자는 실행할 수 있는 명령을 지정할 수 있다고 언급했습니다 (일부 루트 전용 명령은 생략함). 좋은 중간지점인 것 같아요sudosusudoerssudo

답변1

sudosu일부에서는 다음과 같은 2가지 주요 목적을 대신 사용하기 때문에 이를 보안 위험으로 간주합니다 .

  1. sudo사용자는 루트로 일부(전부는 아님) 명령을 쉽게 실행할 수 있습니다.

  2. 루트 비밀번호를 제공할 필요는 없습니다.. 루트 암호를 갖는 것은 특정 명령을 루트로 실행하도록 허용하는 것보다 훨씬 더 위험할 수 있습니다.

누군가 루트 비밀번호를 갖고 나면 루트로 로그인하거나 를 사용할 수 있습니다 su. 루트 액세스 권한을 취소하는 것도 더 어렵습니다. 루트 비밀번호를 변경하고 모든 사람에게 새 비밀번호가 무엇인지 알려야 합니다. 기본 구성 에서는 sudosudoers 파일을 변경하거나 sudo 그룹에서 사용자를 제거하기만 하면 됩니다.

이것이 기본 구성이 아닌 이유입니다 sudo.

루트 암호가 "합리적"이라는 것을 알아야 한다는 생각보다 더 잘 고려된 것이 거의 확실하므로 기본 동작으로 되돌릴 것을 강력히 권장합니다. "상식"은 일반적으로 "일반적인" 것도 아니고 "현명한" 것도 아닙니다.

sudo이 파일은 작성되었습니다(적어도 특정 루트 수준 시스템 관리 작업을 수행하는 데 필요한 기능이 필요한 모든 사람이 루트 암호를 알아야 할 때 발생하는 문제를 피하기 위해 부분적으로). 실제로 이것은 특히 사람들의 역할이 자주 바뀌는 대학이나 회사와 같은 대규모 환경에서 매우 문제가 되는 것으로 입증되었습니다.

수년에 걸쳐 나는 사람들이 같은 조직 내에서 다른 역할을 맡은 다양한 환경에서 일해 왔습니다.년도이전에(또는 조직을 완전히 떠나기 전에) 유효한 로그인 권한이 없어야 하는데도 여전히 시스템에 대한 루트 액세스 권한을 갖고 있습니다. 또한 실제로 옳은 일을 하고 더 이상 필요하지 않은 경우 루트 액세스를 제거하거나 계정을 비활성화할 때 사람들이 종종 화를 내는 문제도 있습니다.

답변2

가상의(그러나 매우 합리적인) 시나리오를 생각해 보십시오. 루트 비밀번호를 가진 사용자가 실수로 루트 비밀번호를 변경하고 이를 기록하지 못했습니다.

지금 가지고 있는 것은 루트 비밀번호를 아는 사람이 아무도 없다는 것입니다.아무도루트로 승격될 수 있습니다. 이로 인해 모든 사람의 루트 비밀번호가 효과적으로 유출되었으며 sudo비밀번호를 재설정하려면 수정(다운타임 필요)이 필요했습니다.

답변3

sudoers 메커니즘은 루트 비밀번호를 제공하는 것보다 많은 장점이 있습니다.

  • 제한된 명령 세트를 관리자로 실행하도록 허용

  • 명령 실행에 따른 책임을 기록하여 sudo이해할 수 있습니다.WHO달리다무엇

  • 관리자 그룹에서 사용자를 추가 및 제거하여 쉽게 관리자 권한을 이전할 수 있습니다.

sudo모든 사용자에게 루트 비밀번호를 제공하면 사용자가 루트로 로그인할 필요가 없으므로 sudoer 사용 목적이 완전히 무산됩니다 .


OP 추가 후 편집:

편집: 나는 유일한 사용자인 개인 Linux 상자를 실행하고 있습니다. 이 상황에서는 합리성이 더 의미가 있습니까? 다중 사용자 시스템에서는 이것이 작동하지 않을 수도 있다고 생각합니다.

실제로 시스템의 유일한 사용자인 경우 위의 내용이 적용되지 않으며 sudo필요할 때마다 관리자로 실행하는 대신 루트로 로그인할 수 있습니다. 하지만 조심하세요. 귀하의 행동이 더 큰 영향을 미치고 시스템을 더 쉽게 손상시킬 수 있습니다. 고대 UNIX Zen 마스터의 말을 인용하자면:

“뿌리를 통해서만 참된 괴로움을 얻을 수 있고, 그리하여 깨달음을 얻을 수 있습니다.”

답변4

귀하의 질문에 따르면 귀하는 시스템의 유일한 사용자입니다(나는 가지고있다설정내 거sudoers… 매번sudo 사용) 제공된 답변은 대부분 다중 사용자 관점에서 나온 것입니다.

기본 구성의 이유는 sudo특정 사용자에게 제한된 수퍼유저 액세스를 제공하려는 원래 아이디어 때문입니다.

오늘날의 Linux 배포판에서는 작은 "참고" 알림을 통해 시스템의 제한된 영역에 쉽게 접근할 수 있다는 아이디어가 여러분의 아이디어와 더 비슷할 것입니다.

이 경우 루트 비밀번호를 사용하면 다음과 같은 한 가지 주요 이점이 있습니다(루트 비밀번호가 설정된 경우).

sudo 권한이 올바르게 구성된 경우 비밀번호를 알면 전체 시스템(백업 포함 가능)이 아닌 계정만 손상됩니다. 컴퓨터실에 들어가려면 두 번째 열쇠가 필요합니다.

관련 정보