Study/Linux

🚀 Linux 서버에 새 사용자 계정 만들고 관리자 권한 설정하기

AC 2025. 9. 29. 11:01

오늘은 Linux 서버에서 새로운 사용자 계정을 생성하고, 관리자 권한을 부여하는 방법을 알아보겠습니다. 보안과 관리 효율성을 위해 root 계정 대신 별도의 관리자 계정을 사용하는 것이 현대적인 서버 관리의 기본이죠!

📝 왜 별도의 관리자 계정이 필요한가?

root 계정을 직접 사용하는 것보다 sudo 권한을 가진 일반 사용자 계정을 사용하면:

  • 실수로 인한 시스템 손상 위험 감소
  • 모든 관리 작업에 대한 로그 추적 가능
  • 다중 사용자 환경에서 권한 관리 용이
  • SSH 보안 강화 (root 로그인 차단 가능)

1️⃣ 새 사용자 계정 생성하기

방법 1: adduser 명령어 사용 (추천 - 대화형 방식)

# 'account'라는 이름의 새 사용자 생성
sudo adduser account

이 명령어를 실행하면 대화형으로 비밀번호와 사용자 정보를 입력할 수 있습니다. 초보자에게 가장 친화적인 방법이죠!

방법 2: useradd 명령어 사용 (고급 - 더 많은 제어)

# 홈 디렉토리와 기본 셸을 지정하여 사용자 생성
sudo useradd -m -s /bin/bash account

# 비밀번호 설정 (별도 명령)
sudo passwd account

-m 옵션은 홈 디렉토리를 생성하고, -s /bin/bash는 기본 셸을 bash로 설정합니다. 스크립트 자동화에 유용한 방법입니다.

2️⃣ sudo 권한 부여하기 (관리자 권한 설정)

방법 1: sudo/wheel 그룹에 추가 (간단한 방법)

Ubuntu/Debian 계열:

sudo usermod -aG sudo account

CentOS/RHEL/Fedora 계열:

sudo usermod -aG wheel account

-aG 옵션은 기존 그룹 멤버십을 유지하면서 새 그룹에 추가한다는 의미입니다. 실수로 -G만 사용하면 기존 그룹에서 제거되니 주의하세요!

방법 2: sudoers 파일 직접 편집 (세밀한 권한 제어)

# visudo 명령어로 안전하게 편집
sudo visudo

파일 끝에 다음 줄을 추가:

# 모든 명령어에 대한 sudo 권한 부여
account ALL=(ALL:ALL) ALL

# 또는 비밀번호 없이 sudo 사용 (보안 주의!)
account ALL=(ALL:ALL) NOPASSWD: ALL

💡 Pro Tip: visudo는 문법 오류를 검사해주므로 직접 /etc/sudoers를 편집하는 것보다 안전합니다!

3️⃣ 새 계정으로 전환하기

로컬에서 사용자 전환

# 환경 변수를 새로 로드하며 전환
su - account

SSH로 원격 접속

ssh account@your-server-ip

✅ 권한 확인하기

새 계정으로 로그인 후 권한이 제대로 설정되었는지 확인:

# sudo 권한 테스트
sudo whoami
# 출력: root

# 현재 사용자의 그룹 확인
groups
# 출력에 sudo 또는 wheel이 포함되어야 함

🔒 보안 강화 팁

  1. 강력한 비밀번호 정책 설정
  2. sudo apt install libpam-pwquality # Ubuntu/Debian sudo yum install pam_pwquality # CentOS/RHEL
  3. SSH 키 인증 설정
  4. ssh-copy-id account@your-server-ip
  5. root 로그인 비활성화
  6. # /etc/ssh/sshd_config 편집 PermitRootLogin no

🎯 마무리

이제 안전하고 체계적인 서버 관리를 위한 첫걸음을 떼셨습니다! 새로운 관리자 계정으로 서버를 관리하면 보안과 추적성이 크게 향상됩니다.

미래의 서버 관리는 자동화와 Infrastructure as Code(IaC) 방향으로 발전하고 있지만, 이런 기본기는 여전히 중요합니다. 다음에는 Ansible이나 Terraform을 활용한 사용자 관리 자동화에 대해서도 다뤄보면 좋을 것 같네요! 🚀

LIST