리눅스 서버를 운영할 때 보안을 위해 반드시 숙지해야 할 것이 바로 **사용자 계정 관리(User Management)**입니다. 특히 Ubuntu 서버에서는 기본적으로 루트(root) 계정이 비활성화되어 있고, 일반 사용자 계정에 sudo 권한을 부여하는 방식으로 관리합니다.
이 글에서는 Ubuntu 공식 문서에 따라 사용자 생성부터 sudo 권한 설정까지 사용자 관리의 핵심 개념과 실습 예제를 정리합니다.
🔑 왜 사용자 관리가 중요한가?
- 보안: 모든 작업을 root로 수행하면 실수나 악성 명령으로 시스템 전체가 손상될 수 있습니다.
- 감사(Auditing): 사용자별 로그를 통해 누가 무엇을 했는지 추적이 가능합니다.
- 권한 분리: 각 사용자에게 필요한 권한만 부여함으로써 최소 권한 원칙(Principle of Least Privilege)을 실현할 수 있습니다.
👤 새 사용자 추가하기: adduser 명령
Ubuntu에서는 adduser 명령어를 사용하여 새 사용자를 생성할 수 있습니다. 이 명령은 사용자 홈 디렉토리와 필요한 설정을 자동으로 만들어 줍니다.
sudo adduser devuser
실행하면 아래와 같은 입력 프롬프트가 나타납니다:
Adding user `devuser' ...
Creating home directory `/home/devuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
TIP: 위에서 Full Name 등은 입력하지 않아도 무방하며, Enter 키로 넘기면 됩니다.
🛡 sudo 권한 부여하기
생성한 사용자에게 root 권한이 필요한 명령을 실행할 수 있도록 sudo 그룹에 추가해야 합니다.
sudo usermod -aG sudo devuser
위 명령은 devuser를 sudo 그룹에 추가합니다. 이후 이 사용자는 다음처럼 명령을 실행할 수 있습니다:
sudo apt update
sudo를 사용할 때 주의할 점
- 실수로 시스템 파일을 삭제하거나 설정을 바꿀 수 있으므로 항상 명령을 두 번 확인하세요.
- 로그는 /var/log/auth.log에 남습니다.
🔍 사용자 계정 확인 및 관리
현재 로그인 중인 사용자 확인
whoami
시스템에 등록된 사용자 목록 확인
cut -d: -f1 /etc/passwd
특정 사용자의 상세 정보 확인
id devuser
출력 예:
uid=1001(devuser) gid=1001(devuser) groups=1001(devuser),27(sudo)
🔒 사용자 비밀번호 변경
관리자가 다른 사용자의 비밀번호를 바꿀 수 있습니다.
sudo passwd devuser
🚫 사용자 잠금 및 삭제
사용자 로그인 잠금
sudo usermod -L devuser
사용자 삭제 (홈 디렉토리 포함)
sudo deluser --remove-home devuser
주의: 삭제 전에 중요 파일이 있는지 꼭 확인하세요!
🧩 기타 팁: sudo 제한하기
일반 사용자에게 sudo 권한을 일부 명령에만 제한하고 싶다면 sudoers 파일을 수정합니다.
sudo visudo
예시:
devuser ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
이 설정은 devuser가 비밀번호 입력 없이 nginx만 재시작할 수 있도록 허용합니다.
마무리 정리
명령어 기능
adduser | 새 사용자 추가 |
usermod -aG sudo 사용자명 | sudo 권한 부여 |
passwd 사용자명 | 비밀번호 변경 |
deluser --remove-home 사용자명 | 사용자 삭제 |
id 사용자명 | 그룹 및 UID 정보 확인 |
sudo visudo | sudo 권한 세부 설정 |
마치며
Ubuntu 서버에서 계정 관리는 시스템 보안의 기본입니다. 여러 명이 함께 서버를 운영하거나, 웹 서비스를 배포할 경우 꼭 필요한 부분이므로 이번 기회에 숙지해두시기 바랍니다.
추천 학습 흐름
- adduser로 계정 생성
- usermod으로 sudo 권한 부여
- passwd로 보안 강화
- 필요 시 visudo로 세부 권한 조정
'Program' 카테고리의 다른 글
Ubuntu AppArmor 보안 모듈 완전 정복 가이드 (0) | 2025.06.17 |
---|---|
Ubuntu 서버 방화벽 설정 완벽 가이드: UFW 기본 사용법부터 포트 제어까지 (0) | 2025.06.17 |
RabbitMQ Topic Exchange 완전 정복: 와일드카드 기반 메시지 라우팅(Python 예제) (5) | 2025.06.14 |
RabbitMQ 메시지를 조건별로 보내고 싶다면? RabbitMQ Direct Exchange 실습 (Python) (0) | 2025.06.14 |
RabbitMQ로 원격 함수 호출 구현하기: Python RPC 튜토리얼 완전 해부 (1) | 2025.06.14 |