Linux에서 Sudoer 파일에 사용자를 추가하는 방법

새로운 리눅스 사용자든 기존 사용자든, ‘sudo’라는 터미널 명령은 매우 익숙할 겁니다. 이 명령은 시스템 계정에 로그인하지 않고도 루트 권한의 명령을 실행할 수 있게 해줍니다. 루트로 로그인하고 로그아웃하는 번거로움을 피하고자 하는 사용자들에게 아주 편리하며, 리눅스 시스템 보안을 강화하는 데에도 도움이 됩니다.

오늘날에는 ‘sudo’를 당연하게 여기는 경향이 있습니다. 리눅스 설치 과정에서 자동으로 구성되어 즉시 사용할 수 있도록 설정되는 경우가 많기 때문입니다.

Sudo 설치 방법

다소 놀랍게 들릴 수 있지만, 모든 리눅스 배포판에 ‘sudo’가 기본적으로 설치되어 있는 것은 아닙니다. 드물지만 설치되지 않은 경우도 있어 직접 설치해야 할 필요가 생길 수 있습니다. ‘sudo’ 설치는 매우 간단하며, 리눅스 환경에서 자주 사용됩니다. Pkgs.org에서 운영체제에 맞는 ‘sudo’ 설치 패키지를 확인하거나, 아래 명령어를 참고하여 설치할 수 있습니다.

참고: 아래 설치 지침은 ‘sudo’가 기본적으로 제공되지 않거나 완전히 설정되지 않은 리눅스 배포판에 ‘sudo’를 설치하는 방법을 간략하게 설명합니다.

데비안

su -
apt-get install sudo

아치 리눅스

su -
pacman -S sudo

페도라

su -
dnf install sudo

오픈수세

su -
zypper install sudo

젠투/펀투

su -
emerge app-admin/sudo

그룹을 이용해 Sudo 권한 사용자 추가

현재까지 ‘sudo’ 권한을 관리하는 가장 쉬운 방법은 ‘sudo’에 접근할 수 있는 그룹을 만들고, 특정 사용자를 이 그룹에 추가하는 것입니다. 일반적으로 이러한 방식으로 ‘sudo’를 설정하면 ‘wheel’ 그룹이나 ‘sudo’ 그룹에 사용자를 추가할 수 있게 됩니다.

리눅스 운영체제에 따라 그룹 이름이 다를 수 있습니다. 어떤 그룹을 사용하고 있는지 확인하려면 ‘cat’ 명령어를 사용하여 ‘/etc/sudoers’ 파일을 읽어보세요.

su -
cat /etc/sudoers | more

“sudo 그룹의 구성원이 모든 명령을 실행할 수 있도록 허용”과 같은 문장을 찾아보세요. 그 아래에는 다음 두 줄 중 하나가 있을 겁니다.

%sudo ALL=(ALL:ALL) ALL

또는

%wheel ALL=(ALL:ALL) ALL

해당 줄의 시작 부분에 있는 그룹(‘wheel’ 또는 ‘sudo’)을 확인한 다음, 기존 사용자를 해당 그룹에 추가하여 ‘sudo’ 권한을 부여합니다.

su -
usermod -a -G sudo yourusername

또는

usermod -a -G wheel yourusername

‘sudo’ 권한을 부여하려는 각 사용자에 대해 이 과정을 반복해야 합니다.

Sudoer 파일에 직접 사용자 추가

‘sudo’ 권한을 부여하는 또 다른 방법은 ‘Sudoer’ 파일에서 사용자를 직접 지정하는 것입니다. 이는 이전 방법보다 다소 복잡하지만, 리눅스 그룹 시스템을 사용하는 것을 선호하지 않는 경우에 유용합니다. 먼저 터미널을 열고 ‘su’를 사용하여 루트로 로그인하십시오.

su -

이제 셸에 루트 접근 권한이 생겼으므로, ‘/etc/sudoers’ 파일을 편집해야 합니다. 이 파일을 편집하려면 ‘visudo’ 명령어를 사용해야 합니다. ‘/etc/sudoers’ 파일을 직접 편집하면 문제가 발생할 수 있습니다. 대신 다음을 시도해 보세요.

EDITOR=nano visudo

‘visudo’ 명령어 앞에 ‘EDITOR’를 지정하면 ‘Vi’ 텍스트 편집기 대신 ‘Nano’로 ‘/etc/sudoers’ 파일을 수정할 수 있습니다. 아래로 스크롤하여 ‘사용자 권한 사양’ 섹션을 찾으세요. ‘Root’를 지정하는 줄 아래에 사용자에게 새 권한을 부여하는 줄을 추가합니다.

username ALL=(ALL:ALL) ALL

‘Ctrl + O’를 눌러 Nano에서 저장하고 ‘Ctrl + X’를 눌러 닫습니다. 이제부터 사용자는 ‘sudo’를 통해 명령을 사용할 수 있습니다.

비밀번호 없는 Sudo 설정

비밀번호 없는 ‘sudo’는 기존 ‘sudo’ 권한과 동일하게 작동합니다. 이 기능을 활성화하려면 ‘Sudoer’ 파일을 수정해야 합니다. 일부 리눅스 배포판은 이 설정을 쉽게 구성할 수 있도록 지원하지만, 다른 배포판에서는 ‘passwordless sudo’에 대한 언급조차 없을 수 있습니다.

운영체제에서 사용하는 ‘Sudoer’ 파일이 이미 지원하는지 확인하려면 ‘cat’ 명령어를 실행해 보세요.

cat /etc/sudoers/ | more

먼저 ‘Sudoer’ 파일을 열고 아래 주석 처리된 부분을 찾습니다.

%sudo ALL=(ALL:ALL) ALL

또는

%wheel ALL=(ALL:ALL) ALL

‘password sudo’ 기능을 끄려면 이 줄을 비활성화하십시오. 그런 다음 ‘비밀번호가 없는 동일한 것’에 대한 줄을 찾아 주석(#)을 제거합니다. ‘Ctrl + O’와 ‘Ctrl + X’를 사용하여 편집기를 저장하면 비밀번호 없는 ‘sudo’가 자동으로 활성화됩니다.

특정 사용자 Sudo 비활성화

특정 사용자에 대해 ‘sudo’를 비활성화하는 가장 좋은 방법은 위에서 설명한 대로 사용자별로 추가하는 것입니다. 만약 작업 방식상 그룹을 통해 사용자에게 ‘sudo’ 권한을 부여해야 한다면, 특정 사용자가 이 명령에 접근하지 못하게 하는 효과적인 방법은 해당 사용자를 그룹에서 제거하는 것입니다. 이렇게 하려면 다음을 실행합니다.

su -
gpasswd -d sudo

또는

gpasswd -d wheel

‘sudo’ 그룹에서 사용자를 제거한 후에는 시스템 수준 작업을 실행할 수 없게 됩니다.