Linux

CentOS 7 / 계정에 sudo 권한 주기 / bash-4.2$

Somaz 2022. 4. 28. 12:45
728x90
반응형

 

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
 
 
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

 

정상적으로 실행되면 sudo 권한이 부여된 것이다!
 
 
 
 

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

 

이 단계에서 bash-4.2$ 프롬프트가 나타난다면, 환경 설정 파일이 누락된 것이다.

 

 

 

3) /etc/skel 디렉토리의 환경 설정 파일 복사

cp -rp /etc/skel/.b* /home/elk
  • 이렇게 하면 /etc/skel 디렉토리에 있는 기본 환경 설정 파일을 사용자 홈 디렉토리로 복사할 수 있다.

 

 

 

4) 다시 로그인하여 확인

su - elk
 
정상적인 프롬프트 (`elk@hostname$` 형태)로 변경되었는지 확인!

 

 

 

 


 

 

 

 

 

 

마무리 (Conclusion)

이번 가이드에서는 리눅스에서 특정 사용자에게 sudo 권한을 부여하는 방법sudo 그룹을 활용한 관리 방식을 알아보았다.
또한, CentOS 환경에서 "bash-4.2$" 오류 해결 방법도 함께 살펴보았다.

 

sudo 권한을 효과적으로 설정하면 보다 안전하고 체계적인 시스템 관리를 할 수 있다.
보안 강화를 위해 불필요한 sudo 권한을 최소화하고, 필요할 때만 부여하는 것이 중요하다.

 

 

권한 설정이 끝났다면 sudoers 파일의 권한을 다시 읽기 전용으로 변경하는 것도 잊지 말자!

효율적이고 안전한 서버 운영을 위해 sudo 권한을 올바르게 설정해 보세요!

 

 

 

 


Reference

 

728x90
반응형

'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