검색

6.2. sudo utility를 사용하여 관리 액세스 구성

download PDF

sudo 명령은 사용자에게 관리 액세스 권한을 부여하는 다른 방법을 제공합니다. 신뢰할 수 있는 사용자가 관리자 명령 앞에 sudo 를 입력하면 자신의 암호를 입력하라는 메시지가 표시됩니다. 그런 다음 인증되고 명령이 허용된다고 가정하면 root 사용자인 것처럼 관리 명령이 실행됩니다.

sudo 명령의 기본 형식은 다음과 같습니다.

sudo command

위의 예에서 명령은 일반적으로 root 사용자(예: mount )에 예약된 명령으로 교체됩니다.

sudo 명령을 사용하면 높은 수준의 유연성을 제공합니다. 예를 들어 /etc/sudoers 구성 파일에 나열된 사용자만 sudo 명령을 사용할 수 있으며 루트 쉘이 아닌 사용자 쉘에서 명령이 실행됩니다. 즉, Red Hat Enterprise Linux 7 보안 가이드에 표시된 대로 루트 쉘을 완전히 비활성화할 수 있습니다.

sudo 명령을 사용하여 인증에 성공하면 /var/log/ message 파일에 기록되고 발행자의 사용자 이름과 함께 실행된 명령은 /var/log/secure 파일에 기록됩니다. 추가 로깅이 필요한 경우, /etc/pam.d/system-auth 파일에 다음 행을 추가하여 지정된 사용자에 대해 TTY 감사를 활성화하려면 pam_tty_audit 모듈을 사용합니다.

session required pam_tty_audit.so disable=pattern enable=pattern

여기서 패턴은 glob를 선택적 용도로 사용하는 사용자의 쉼표로 구분된 목록을 나타냅니다. 예를 들어 다음 구성은 root 사용자에 대해 TTY 감사를 활성화하고 다른 모든 사용자에 대해 비활성화합니다.

session required pam_tty_audit.so disable=* enable=root
중요

TTY 감사 레코드에 대한 pam_tty_audit PAM 모듈을 TTY 입력만 구성합니다. 즉, 감사된 사용자가 로그인할 때 interval _tty_audit 는 사용자가 /var/log/audit/audit.log 파일에 만드는 정확한 키 입력을 기록합니다. 자세한 내용은 pam_tty_audit(8) 매뉴얼 페이지를 참조하십시오.

sudo 명령의 또 다른 장점은 관리자가 필요에 따라 특정 명령에 다른 사용자가 액세스할 수 있다는 점입니다.

sudo 구성 파일 /etc/sudoers 를 편집하려는 관리자는 visudo 명령을 사용해야 합니다.

사용자에게 전체 관리 권한을 제공하려면 visudo 를 입력하고 사용자 권한 사양 섹션에서 다음과 유사한 행을 추가합니다.

juan ALL=(ALL) ALL

이 예에서는 사용자(Subjan ) 모든 호스트에서 sudo 를 사용하고 모든 명령을 실행할 수 있다고 명시되어 있습니다.

아래 예제에서는 sudo 를 설정할 때 가능한 세분성을 보여줍니다.

%users localhost=/usr/sbin/shutdown -h now

이 예에서는 사용자 시스템 그룹의 모든 멤버가 콘솔에서 발행되는 한 이제 /sbin/shutdown -h 명령을 실행할 수 있다고 명시되어 있습니다.

sudoers 의 man 페이지에는 이 파일에 대한 자세한 옵션 목록이 있습니다.

/etc/sudoers 파일에서 NO tekton 옵션을 사용하여 암호를 제공하지 않아도 되는 sudo 사용자를 구성할 수도 있습니다.

user_name ALL=(ALL)	NOPASSWD: ALL

그러나 이러한 사용자에게도 sudo 는 PAM 모듈에 의해 설정된 제한을 인증 단계 외부에서 확인할 수 있는PAM(Plugable Authentication Module) 계정 관리 모듈을 실행합니다. 이렇게 하면 PAM 모듈이 올바르게 작동합니다. 예를 들어, pam_time 모듈의 경우 시간 기반 계정 제한이 실패하지 않습니다.

주의

항상 모든 PAM 기반 액세스 제어 규칙의 허용된 서비스 목록에 sudo 를 포함합니다. 그렇지 않으면 sudo 에 액세스하려고 할 때 "permission denied" 오류 메시지가 표시되지만 현재 액세스 제어 규칙에 따라 액세스가 금지됩니다.

자세한 내용은 Red Hat Knowledgebase 문서 Red Hat Enterprise Linux 7.6에 패치된 후 sudo에서 권한 거부 오류를 제공합니다.

중요

sudo 명령을 사용할 때 고려해야 할 몇 가지 위험이 있습니다. 위에서 설명한 대로 visudo 를 사용하여 /etc/sudoers 구성 파일을 편집하여 방지할 수 있습니다. /etc/sudoers 파일을 기본 상태로 유지하면 wheel 그룹의 모든 사용자에게 무제한 루트 액세스 권한이 부여됩니다.

  • 기본적으로 sudo 는 5분 제한 기간 동안 암호를 저장합니다. 이 기간 동안 명령을 나중에 사용하면 사용자에게 암호를 입력하라는 메시지가 표시되지 않습니다. 이 취약점은 사용자가 워크스테이션이 아직 로그인되어 있는 동안 워크스테이션을 자동으로 잠금 해제하고 잠금 해제하는 경우 공격자가 악용될 수 있습니다. 이 동작은 /etc/sudoers 파일에 다음 행을 추가하여 변경할 수 있습니다.

    Defaults  timestamp_timeout=value

    여기서 value 는 원하는 시간 제한 길이(분)입니다. 값을 0으로 설정하면 sudo 에서 암호를 매번 필요로 합니다.

  • 계정이 손상된 경우 공격자는 sudo 를 사용하여 관리자 권한으로 새 쉘을 열 수 있습니다.

    sudo /bin/bash

    이 또는 유사한 방식으로 root 로 새 쉘을 열면 공격자가 이론적으로 무제한으로 제한된 시간 동안 관리 액세스 권한을 부여하고 /etc/sudoers 파일에 지정된 제한 시간을 무시하고 공격자가 새로 열린 세션이 종료될 때까지 sudo 에 대한 암호를 다시 입력하지 않아도 됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.