본문 바로가기

Program

Ubuntu 서버 사용자 관리 기초: adduser부터 sudo 설정까지

반응형

리눅스 서버를 운영할 때 보안을 위해 반드시 숙지해야 할 것이 바로 **사용자 계정 관리(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 서버에서 계정 관리는 시스템 보안의 기본입니다. 여러 명이 함께 서버를 운영하거나, 웹 서비스를 배포할 경우 꼭 필요한 부분이므로 이번 기회에 숙지해두시기 바랍니다.

추천 학습 흐름

  1. adduser로 계정 생성
  2. usermod으로 sudo 권한 부여
  3. passwd로 보안 강화
  4. 필요 시 visudo로 세부 권한 조정

 

반응형