리눅스에서 sudo
는 일반 사용자에게 일시적으로 루트(root) 권한을 부여하는 중요한 명령어입니다.
하지만 무분별하게 sudo 권한을 주면 보안 문제가 생기기 쉬워요.
- 일반 사용자에게 sudo 권한을 부여하는 방법
- 특정 명령어만 허용하는 방법
- sudoers 설정 파일 관리 요령
1. sudo 권한 부여 – 사용자 추가
- Ubuntu 계열
sudo usermod -aG sudo username
sudo
그룹에 사용자를 추가하면 자동으로 sudo 권한을 얻게 됩니다.
로그아웃 후 다시 로그인해야 적용돼요.
- CentOS, RHEL 계열
sudo usermod -aG wheel username
CentOS나 RHEL에서는 wheel
그룹이 sudo 역할을 합니다.
2. sudoers 파일 편집하기
더 세부적으로 권한을 설정하고 싶다면 sudoers
파일을 편집합니다.
직접 수정하는 것보다 visudo
명령을 사용하는 것이 안전해요.
sudo visudo
이 명령은 편집 후 문법 오류가 있는지 검사해 주기 때문에 추천됩니다.
예: 특정 사용자에게 모든 명령 허용
username ALL=(ALL) ALL
예: 특정 명령만 허용
username ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
이 설정은 해당 사용자가 sudo systemctl restart nginx
만 실행할 수 있도록 제한합니다.NOPASSWD:
를 붙이면 비밀번호 입력 없이 실행 가능합니다.
3. 사용자별 sudo 권한 테스트
sudo -l -U username
지정한 사용자가 어떤 sudo 명령을 사용할 수 있는지 확인할 수 있어요.
4. sudo 사용 이력 확인
grep 'sudo:' /var/log/auth.log
Ubuntu 기준으로 sudo 사용 내역은 /var/log/auth.log
에 기록됩니다.
운영 중인 서버라면 누가 언제 어떤 명령을 실행했는지 확인할 수 있습니다.
sudo 권한은 신중하게 부여해야 합니다
sudo는 강력한 권한을 일시적으로 부여하는 도구인 만큼,
최소 권한 원칙에 따라 꼭 필요한 사용자에게만 필요한 범위로 부여하는 것이 중요합니다.
요약:
usermod -aG sudo username
: 간편하게 sudo 권한 부여visudo
로/etc/sudoers
파일 안전하게 편집- 특정 명령만 허용하는 방식으로 보안 강화 가능
'개발 > 리눅스' 카테고리의 다른 글
[Linux] SSH 서버 설정과 보안 강화 (0) | 2025.06.29 |
---|---|
[Linux] 방화벽 설정하기 (UFW, firewalld) (0) | 2025.06.28 |
[Linux] 리눅스 사용자 추가/삭제하는 방법 (0) | 2025.06.26 |
[Linux] 서버 재부팅 없이 커널 업데이트하는 방법 (Livepatch) (0) | 2025.06.25 |
[Linux] 부팅 시 자동 실행 설정 방법 (systemd 서비스 만들기) (0) | 2025.06.24 |