sudoers 파일의 매개변수는 무엇입니까?

sudoers 파일의 매개변수는 무엇입니까?

sudoers 파일에는 다음 줄이 있습니다.

root ALL=(ALL) ALL

첫 번째 필드가 사용자라는 것을 읽었습니다. 첫 번째 ALL는 모든 사용자를 의미하는 모든 터미널 (ALL)이고 마지막은 ALL모든 명령을 의미합니다.

  1. sudoers 파일에 해당 줄이 없으면 어떻게 되나요? 그럼 루트는 아무 것도 할 수 없나요?

  2. username ALL= /bin/passwd이처럼 "username"을 해석하여 모든 터미널에서 passwd를 실행하는 것이 가능합니까?

  3. first 대신 어떤 값을 지정할 수 있나요 ALL?

답변1

  1. 이 파일은 가능한 통화 sudoers만 제어합니다 . 무엇이든 수행할 수 sudo있도록 허용하는 줄은 일반적으로 유용하지 않습니다. 왜냐하면 루트는 결코 유용하지 않기 때문입니다.rootsudo필요 sudo무엇이든. 더 편리합니다. 이렇게 하면 루트나 다른 sudoer가 마음대로 호출할 수 있고 sudo권한을 높이기 위해 호출할 수 있는 스크립트를 작성할 수 있습니다.

  2. username ALL = /bin/passwd사용자가 passwd모든 컴퓨터에서(그리고 모든 터미널에서 명령을 실행할 수 있도록 허용합니다. sudo는 이에 대해 신경 쓰지 않습니다) Sudo를 사용하면 파일에 컴퓨터 이름을 사용할 수 있으므로 수정 없이 네트워크의 모든 컴퓨터에 파일을 배포 sudoers할 수 있으며 여전히 특정 컴퓨터에만 적용되는 일부 규칙이 있습니다.sudoers

  3. 두 번째 위치에는 호스트 목록이 있습니다( 설명서 Host_List참조 ). sudoers이는 쉼표로 구분된 호스트 이름 목록입니다. 호스트 이름 대신 별칭(자세한 내용은 설명서 참조), IP 주소 또는 다양한 서브넷 지정 방법(자세한 내용은 설명서 참조)을 사용할 수 있습니다.

매뉴얼 sudoers은 읽기 쉽지 않지만 끝에는 좋은 예제 목록이 있습니다. 해당 섹션을 먼저 읽어보시길 권합니다.

답변2

sudo실제로 루트 사용자에 대한 권한은 없습니다 . 이 행은 루트가 접두어가 붙은 명령을 실행하는 경우 나타납니다 sudo. 이 규칙은 루트가 이 작업을 수행하도록 허용합니다.

sudo스크립트에 접두사가 붙은 명령이 포함될 수 있는 경우 루트가 차단되지 않도록 보호하는 것이 더 좋습니다.

그런데, 당신이 읽은 규칙은 다음과 같습니다:

root ALL=(ALL) ALL

이는 루트가 모든 호스트의 모든 사용자로서 모든 명령을 실행하도록 허용한다는 의미입니다. 따라서 규칙을 한 시스템에서 다른 시스템으로 이동하는 경우 루트를 특정 호스트로 제한하거나 어떤 방식으로든 sudo 루트를 통해 제한하는 것을 언급하지 않는다는 점에서 규칙은 이식 가능합니다.

관련 정보