Overview
리눅스 시스템에서는 보안 및 관리 편의를 위해 일반 사용자 계정과 root 계정을 구분한다.
기본적으로 root 계정은 시스템의 모든 작업을 수행할 수 있는 최고 관리자 계정이며, 보안상 일반 사용자에게 root 권한을 직접 부여하는 것은 위험할 수 있다.
따라서, 일반 사용자가 특정 명령어를 root 권한으로 실행할 수 있도록 하는 것이 바로 sudo 권한 부여이다.
이번 가이드에서는
- 특정 사용자에게 sudo 권한을 부여하는 방법
- sudo 그룹을 활용하여 여러 사용자에게 sudo 권한을 일괄 부여하는 방법
- 계정 생성 후 발생하는 bash-4.2$ 문제 해결 방법
을 다루어 보다 안전하고 체계적인 계정 관리 방법을 알아본다.
1. 특정 사용자에게 sudo 권한 부여
1) root 계정으로 로그인 또는 sudo 권한이 있는 계정으로 로그인
우선, root 계정 또는 기존에 sudo 권한을 가진 계정으로 로그인해야 한다.
su - root
2) sudo 패키지가 설치되어 있는지 확인
대부분의 배포판에서 기본적으로 설치되어 있지만, 만약 sudo 패키지가 없다면 설치해야 한다.
# Debian/Ubuntu 계열
apt update && apt install sudo -y
# RHEL/CentOS 계열
yum install sudo -y
3) sudoers 파일 수정 전 쓰기 권한 부여
`/etc/sudoers` 파일을 직접 수정하기 전에 쓰기 권한을 부여한다.
chmod +w /etc/sudoers
4) sudoers 파일에서 사용자 추가
사용자를 sudo 권한이 있는 계정으로 등록한다.
visudo
# or
vi /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
somaz ALL=(ALL) ALL # 특정 사용자에 sudo 권한 추가
주의
visudo 명령어를 사용하여 수정하면 문법 오류를 방지할 수 있다.
잘못된 설정은 시스템에 치명적인 영향을 줄 수 있으므로 직접 파일을 수정하는 것은 피해야 한다.
2. sudo 그룹을 활용한 sudo 권한 부여
1) sudoers 파일에서 그룹 설정 변경
visudo
# or
vi /etc/sudoers
sudoers 파일 내에서 wheel 그룹에 sudo 권한을 부여한다.
기본적으로 주석 처리된 부분을 해제한다.
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL # 주석 해제
2) 특정 사용자를 sudo 그룹에 추가
gpasswd -a <사용자ID> wheel
예제) somaz 사용자를 sudo 그룹에 추가
gpasswd -a somaz wheel
3) sudo 명령어가 정상적으로 실행되는지 확인
su - somaz sudo ls /root
4) sudoers 파일의 쓰기 권한 제거 (보안 설정)
sudoers 파일의 불필요한 수정 방지를 위해 다시 읽기 전용으로 변경한다.
chmod -w /etc/sudoers
CentOS에서 계정 생성 후 "bash-4.2$" 오류 해결
CentOS에서 새 계정을 생성한 후 로그인했을 때, 정상적인 프롬프트(예: `user@hostname$` )가 아닌 `bash-4.2$` 형식으로 나올 수 있다.
이는 `~/.bash_profile` 등의 환경 설정 파일이 누락되었기 때문이다.
문제 해결 방법
1) 새 사용자 계정 생성
groupadd elk useradd -r -g elk elk
2) 해당 계정으로 로그인
su - elk
3) /etc/skel 디렉토리의 환경 설정 파일 복사
cp -rp /etc/skel/.b* /home/elk
- 이렇게 하면 /etc/skel 디렉토리에 있는 기본 환경 설정 파일을 사용자 홈 디렉토리로 복사할 수 있다.
4) 다시 로그인하여 확인
su - elk
마무리 (Conclusion)
이번 가이드에서는 리눅스에서 특정 사용자에게 sudo 권한을 부여하는 방법과 sudo 그룹을 활용한 관리 방식을 알아보았다.
또한, CentOS 환경에서 "bash-4.2$" 오류 해결 방법도 함께 살펴보았다.
sudo 권한을 효과적으로 설정하면 보다 안전하고 체계적인 시스템 관리를 할 수 있다.
보안 강화를 위해 불필요한 sudo 권한을 최소화하고, 필요할 때만 부여하는 것이 중요하다.
권한 설정이 끝났다면 sudoers 파일의 권한을 다시 읽기 전용으로 변경하는 것도 잊지 말자!
효율적이고 안전한 서버 운영을 위해 sudo 권한을 올바르게 설정해 보세요!
Reference
'Linux' 카테고리의 다른 글
리눅스 명령어 1. xargs란? (0) | 2024.01.16 |
---|---|
chattr & lsattr란? (파일 속성 관리 명령어) (0) | 2022.07.25 |
Django(Linux) (0) | 2022.02.16 |
LVM(Logical Volume Manager) 개요 및 실습 (0) | 2022.02.16 |
리눅스 압축&보관 유틸리티 (0) | 2022.01.18 |