Linux에서 사용자에 대한 Sudo 권한을 설정하는 방법

Linux에서 사용자에 대한 Sudo 권한을 설정하는 방법

2022-10-18 last update

4 minutes reading sudo sudores visudo
Sudo는 루트가 아닌 사용자에게 루트(최고 관리자) 명령에 대한 액세스를 제공하는 데 사용됩니다. 예를 들어, 관리자로서 사용자 nick에게 웹 서버를 다시 시작할 수 있는 액세스 권한을 제공하고 싶지만 구성을 변경할 수 없습니다. 이를 수행하기 위해 사용자 nick에게 sudo 액세스를 제공할 수 있습니다. sudo 구성 파일을 편집하려면 다음을 사용하십시오.
visudo
위의 명령은 편집기에서/etc/sudoers 파일을 엽니다. 이 파일은 sudo 설정을 위한 기본 구성 파일입니다. sudoers 파일에는 아래와 같은 항목이 있습니다. 이것은 루트 사용자에게 무엇이든 할 수 있는 권한을 제공합니다.
root ALL=(ALL) ALL

Sudoers 파일 구문

/etc/sudores의 형식은 다음과 같다.
user  host:runas  command
  • 사용자 – 사용자 이름, % 기호를 사용하여 %webadmins와 같은 그룹 이름 지정
  • 호스트 – 컴퓨터 호스트 이름
  • runas – 다음 계정으로 실행을 위한 사용자, 공통 옵션이 루트 또는 ALL로 사용됨
  • 명령 – 하나 이상의 루트 수준 명령
  • 사용자에게 액세스 제공

    이제 사용자 nick에게 웹 서버 재부팅 권한을 제공하려면 sudoers 파일에 아래 구성을 추가합니다
    nick  ALL=(root) NOPASSWD: /etc/init.d/httpd restart
    
    NOPASSWD는 떠날 경우 확인이 필요하지 않음을 의미합니다. 이 경우 nick은 자신의 비밀번호를 다시 입력해야 합니다. 이제 사용자 nick은 다음 명령을 사용하여 웹 서버를 다시 시작할 수 있습니다.
    sudo /etc/init.d/httpd restart
    

    그룹에 대한 액세스 제공

    수퍼유저 명령에 대한 액세스를 사용자 그룹에 제공합니다. % 기호로 시작하는 그룹 이름을 정의합니다. 아래 예에 따라 webadmin 그룹의 모든 사용자는 명령을 실행할 수 있는 권한을 갖습니다.
    %webadmin ALL=(root) /etc/init.d/httpd restart