본문 바로가기
리눅스의 모든 것

리눅스 sudo 권한 부여 방법 – 사용자 추가부터 설정까지 완벽 가이드

by 운따돈 2025. 8. 15.

리눅스에서 sudo는 “Superuser Do”의 줄임말로, 일반 사용자가 관리자(root) 권한으로 명령을 실행할 수 있게 해주는 명령어입니다.
일반 계정은 시스템 핵심 설정을 변경할 수 없지만, sudo 권한이 있으면 소프트웨어 설치, 설정 변경, 서비스 재시작 같은 작업이 가능합니다.
특히 서버 관리에서는 root 계정 직접 로그인 대신 sudo를 쓰는 것이 보안상 안전합니다.


sudo 권한 부여가 필요한 상황

  • 새로운 개발자나 운영자 계정을 만들었을 때
  • root 계정 사용을 제한하고 일반 계정으로만 서버 관리하고 싶을 때
  • 특정 사용자에게만 제한적으로 관리자 권한을 부여하고 싶을 때

사용자 생성

새로운 사용자를 만들고 싶다면 다음 명령어를 입력합니다.

sudo adduser 사용자명

예)
sudo adduser devuser

이렇게 하면 /home/devuser 디렉토리가 생성되고 비밀번호 설정까지 완료됩니다.


sudo 그룹에 사용자 추가

대부분의 리눅스 배포판은 sudo 그룹(Ubuntu/Debian) 또는 wheel 그룹(CentOS/RHEL)에 속한 사용자만 sudo를 사용할 수 있도록 설정되어 있습니다.

  • Ubuntu / Debian 계열
    sudo usermod -aG sudo 사용자명
  • CentOS / RHEL 계열
    sudo usermod -aG wheel 사용자명

예)
sudo usermod -aG sudo devuser

이렇게 하면 devuser 계정은 sudo 명령을 사용할 수 있게 됩니다.


sudoers 파일 직접 수정

그룹 추가 대신 특정 사용자만 sudo 권한을 주고 싶다면 visudo를 사용합니다.
visudo는 sudoers 설정 파일을 안전하게 수정할 수 있는 명령어입니다.

sudo visudo

파일 안에서 root 아래에 다음 내용을 추가합니다.
사용자명 ALL=(ALL:ALL) ALL

예)
devuser ALL=(ALL:ALL) ALL

이렇게 하면 devuser는 모든 명령을 root 권한으로 실행할 수 있습니다.


특정 명령만 허용하는 sudo 설정

보안을 위해 특정 명령만 sudo로 실행하게 할 수도 있습니다.

예)
devuser ALL=(ALL) /bin/systemctl restart nginx, /bin/systemctl status nginx

이렇게 하면 devuser는 Nginx 서비스 재시작과 상태 확인만 root 권한으로 실행할 수 있습니다.


설정 적용 및 확인

설정을 완료했으면 해당 계정으로 로그인해 테스트합니다.

su - devuser
sudo whoami

결과가 root로 나오면 sudo 권한이 정상적으로 부여된 것입니다.


sudo 권한 제거 방법

권한을 회수하려면 sudo 그룹에서 제거하면 됩니다.

  • Ubuntu / Debian
    sudo deluser 사용자명 sudo
  • CentOS / RHEL
    sudo gpasswd -d 사용자명 wheel

또는 sudoers 파일에서 해당 사용자 라인을 삭제하면 됩니다.


보안 강화 팁

  1. root 직접 로그인 금지 – /etc/ssh/sshd_config에서 PermitRootLogin no 설정.
  2. sudo 로그 확인 – /var/log/auth.log 또는 /var/log/secure에서 sudo 사용 기록 확인.
  3. 명령 제한 – 꼭 필요한 명령만 허용해 오남용 방지.
  4. 비밀번호 입력 필수 – NOPASSWD 옵션 사용은 가급적 피하기.

결론

리눅스에서 sudo 권한 부여는 필수적인 서버 관리 작업입니다.
단순히 그룹에 추가하는 것만으로도 빠르게 권한을 부여할 수 있지만,
보안이 중요한 환경에서는 sudoers 파일을 세밀하게 설정하는 것이 안전합니다.
특히, root 계정 대신 sudo를 사용하는 습관은 서버 해킹 위험을 줄이고, 관리 로그를 남기는 데 큰 도움이 됩니다.