sudo 명령을 사용하면 신뢰할 수 있는 사용자가 기본적으로 루트 사용자로 프로그램을 실행할 수 있습니다. 명령줄에서 많은 시간을 보내는 경우 sudo는 자주 사용하는 명령 중 하나입니다.
일반적으로 사용자에게 sudo 액세스 권한을 부여하려면 sudo 파일에 정의된 sudo 그룹에 사용자를 추가해야 합니다. Debian, Ubuntu 및 그 파생 모델에서는 sudo 그룹의 구성원에게 sudo 권한이 부여되며 CentOS 및 Fedora와 같은 RedHat 기반 배포에서는 sudo 그룹의 이름이 wheel입니다.
이 그룹의 각 구성원은 sudo 명령을 실행하기 전에 암호를 입력하라는 메시지가 표시됩니다. 따라서 보안 계층이 추가되며 사용자에게 sudo 권한을 부여하는 것이 선호됩니다.
그러나 자동 스크립트 실행과 같은 상황에서는 sudo 파일을 구성하고 특정 사용자가 암호를 묻지 않고 sudo 명령을 실행하도록 허용해야 할 수 있습니다.
Sudoers 파일에 사용자를 추가
sudoers 파일에는 사용자 및 그룹의 sudo 권한을 결정하는 정보가 포함되어 있습니다.
sudo 파일을 수정하거나 /etc/sudoers.d 디렉터리에 구성 파일을 추가하여 사용자 sudo 액세스를 구성할 수 있습니다. 이 디렉토리 내에 생성된 파일은 sudoers 파일에 포함됩니다.
변경하기 전에 현재 파일을 백업하는 것이 좋습니다.
sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}
date 명령은 백업 파일 이름에 현재 날짜를 추가합니다.
visudo 명령을 사용하여 /etc/sudoers 파일을 엽니다.
sudo visudo
sudoers 파일을 변경할 때는 항상 visudo를 사용하십시오. 이 명령은 편집 후 파일을 확인하며 구문 오류가 있는 경우 변경 내용을 저장하지 않습니다. 텍스트 편집기로 파일을 열면 구문 오류로 인해 sudo 액세스가 손실됩니다.
대부분의 시스템에서 visudo 명령은 vim 텍스트 편집기를 사용하여 /etc/sudoers 파일을 엽니다. vim에 대한 경험이 없는 경우 다른 텍스트 편집기를 사용할 수 있습니다. 예를 들어 편집기를 GNU 나노로 변경하려면 다음을 실행합니다.
sudo EDITOR=nano visudo
파일 끝까지 스크롤하고 사용자가 암호를 묻지 않고 sudo로 명령을 실행할 수 있도록 다음 줄을 추가합니다.
# /etc/sudoers
jjeongil ALL=(ALL) NOPASSWD:ALL
액세스 권한을 부여할 사용자 이름으로 "jjeongil"를 변경하는 것을 잊지 마십시오.
사용자가 암호를 입력하지 않고 특정 명령만 실행하도록 허용하려면 NOPASSWD 키워드 뒤에 명령을 지정합니다.
예를 들어 mkdir 및 mv 명령만 허용하려면 다음과 같이 하십시오.
# /etc/sudoers
jjeongil ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv
완료되면 파일을 저장하고 편집기를 종료합니다.
/etc/sudoers.d를 사용
sudoers 파일을 편집하는 대신 /etc/sudoers.d 디렉터리에 권한 부여 규칙을 사용하여 새 파일을 생성할 수 있습니다. 이러한 접근 방식은 sudo 권한의 관리를 보다 유지 보수적으로 만듭니다.
텍스트 편집기를 열고 파일을 생성합니다.
원하는 대로 파일 이름을 지정할 수 있지만 일반적으로 사용자 이름을 파일 이름으로 사용하는 것이 좋습니다.
# /etc/sudoers.d/linuxize
jjeongil ALL=(ALL) NOPASSWD:ALL
sudoers 파일에 추가하는 것과 동일한 규칙을 추가합니다.
마지막으로 파일을 저장하고 편집기를 닫습니다.
암호를 입력하지 않고도 sudo 명령을 실행할 수 있도록 /etc/sudoers를 편집하는 방법을 보여 드렸습니다. 이 기능은 루트가 아닌 사용자가 관리 태스크를 실행해야 하는 스크립트가 있는 경우에 유용합니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Nano 사용 방법, 예제, 명령어 (0) | 2021.10.16 |
---|---|
Linux : UFW Firewall 규칙 나열, 삭제 방법, 예제, 명령어 (1) | 2021.10.15 |
Ubuntu 18.04 : Squid Proxy 설치, 구성 방법, 예제, 명령어 (0) | 2021.10.13 |
Raspberry Pi : Docker 설치, 사용 방법, 예제, 명령어 (0) | 2021.10.12 |
Linux : Tr 사용 방법, 예제, 명령어 (0) | 2021.10.11 |