8.3. 권한이 없는 사용자가 특정 명령을 실행하도록 활성화


관리자는 /etc/sudoers.d/ 디렉터리에 정책을 구성하여 권한이 없는 사용자가 특정 워크스테이션에서 특정 명령을 실행하도록 허용할 수 있습니다. 이는 사용자에게 전체 sudo 액세스 권한을 부여하거나 다음과 같은 이유로 사용자에게 root 암호를 제공하는 것보다 더 안전합니다.

  • 권한 있는 작업을 보다 세밀하게 제어합니다. 사용자가 전체 관리 액세스 권한을 부여하는 대신 특정 호스트에서 특정 작업을 수행하도록 허용할 수 있습니다.
  • 더 나은 로깅. 사용자가 sudo 를 통해 작업을 수행하면 root뿐만 아니라 사용자 이름으로 작업이 기록됩니다.
  • 투명한 제어. 사용자가 sudo 권한을 사용하려고 할 때마다 이메일 알림을 설정할 수 있습니다.

사전 요구 사항

  • 시스템에 대한 root 액세스 권한이 있습니다.

절차

  1. /etc/sudoers.d 디렉토리에 새 파일을 만듭니다.

    # visudo -f /etc/sudoers.d/<filename>
    Copy to Clipboard Toggle word wrap

    파일이 편집기에서 자동으로 열립니다.

  2. /etc/sudoers.d/ <filename > 파일에 다음 행을 추가합니다.

    <username> <hostname.example.com> = (<run_as_user>:<run_as_group>) <path/to/command>
    Copy to Clipboard Toggle word wrap
    • & lt;username >을 사용자 이름으로 바꿉니다.
    • & lt;hostname.example.com& gt;을 호스트의 URL로 바꿉니다.
    • (<run_as_user > : <run_as_group> ) 명령을 실행할 수 있는 사용자 또는 그룹으로 바꿉니다. 이 섹션을 생략하면 < username> 에서 root로 명령을 실행할 수 있습니다.
    • & lt;path/to/command& gt;를 명령의 전체 절대 경로로 바꿉니다. 명령 경로 뒤에 해당 옵션을 추가하여 특정 옵션 및 인수가 있는 명령만 실행하도록 사용자를 제한할 수도 있습니다. 옵션을 지정하지 않으면 사용자는 모든 옵션과 함께 명령을 사용할 수 있습니다.
    • 한 줄에 동일한 호스트에서 두 개 이상의 명령을 허용하려면 쉼표로 구분한 뒤에 공백으로 구분하여 나열할 수 있습니다.

예를 들어 user1dnf 를 실행하고 host1.example.com 에서 reboot 명령을 재부팅하도록 허용하려면 다음을 입력합니다.

user1 host1.example.com = /bin/dnf, /sbin/reboot
Copy to Clipboard Toggle word wrap
  1. 선택 사항: 사용자가 sudo 권한을 사용하려고 할 때마다 이메일 알림을 받으려면 파일에 다음 행을 추가합니다.

    Defaults    mail_always
    Defaults    mailto="<email@example.com>"
    Copy to Clipboard Toggle word wrap
  2. 변경 사항을 저장하고 편집기를 종료합니다.

검증

  1. 사용자가 sudo 권한으로 명령을 실행할 수 있는지 확인하려면 계정을 전환합니다.

    # su <username> -
    Copy to Clipboard Toggle word wrap
  2. 사용자로 sudo 명령을 사용하여 명령을 입력합니다.

    $ sudo whoami
    [sudo] password for <username>:
    Copy to Clipboard Toggle word wrap

    사용자의 sudo 암호를 입력합니다.

  3. 권한이 올바르게 구성된 경우 sudo는 구성된 사용자로 명령을 실행합니다. 예를 들어 dnf 명령을 사용하면 다음 출력이 표시됩니다.

    ...
    usage: dnf [options] COMMAND
    ...
    Copy to Clipboard Toggle word wrap

    시스템에서 다음 오류 메시지를 반환하는 경우 sudo를 사용하여 명령을 실행할 수 없습니다.

<username> is not in the sudoers file. This incident will be reported.
Copy to Clipboard Toggle word wrap

+ 시스템에서 다음 오류 메시지를 반환하는 경우 구성이 올바르게 완료되지 않았습니다.

<username> is not allowed to run sudo on <host.example.com>.
Copy to Clipboard Toggle word wrap

+ 시스템에서 다음 오류 메시지를 반환하는 경우 명령은 사용자의 규칙에 올바르게 정의되지 않습니다.

`Sorry, user _<username>_ is not allowed to execute '_<path/to/command>_' as root on _<host.example.com>_.`
Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동