> 패키지 및 시스템 관리 > useradd

useradd 명령어 가이드: 새 사용자 계정 생성

`useradd` 명령어는 Linux 시스템에서 새로운 사용자 계정을 생성하는 데 사용됩니다. 이 명령어는 단순히 사용자 이름을 추가하는 것을 넘어, 사용자의 홈 디렉토리, 쉘, 그룹 멤버십 등 계정의 다양한 속성을 설정할 수 있게 해줍니다. 시스템 관리자가 새로운 사용자를 등록하거나 서비스 계정을 생성할 때 필수적으로 사용됩니다. 이 가이드를 통해 `useradd`의 기본적인 사용법과 다양한 옵션들을 익혀보세요.

useradd 개요

`useradd` 명령어는 사용자의 계정 정보를 `/etc/passwd`, `/etc/shadow`, `/etc/group`, `/etc/gshadow`와 같은 시스템 파일에 추가하고, 사용자의 홈 디렉토리를 생성하며, 기본 설정 파일(스켈레톤 파일)을 복사하는 등의 작업을 수행합니다. 이 모든 과정은 관리자 권한(`sudo`)이 필요합니다.

useradd의 주요 역할

`useradd` 명령어는 주로 다음과 같은 목적으로 사용됩니다:

주요 활용 분야

  • 새 사용자 등록: 시스템에 새로운 일반 사용자를 추가하여 로그인 및 파일 접근을 허용합니다.
  • 서비스 계정 생성: 특정 애플리케이션이나 서비스가 동작할 때 사용할 비로그인 계정을 만듭니다.
  • 보안 관리: 각 사용자에게 고유한 계정을 부여하여 시스템 접근을 통제하고 책임성을 강화합니다.

사용자 계정 생성 시 주요 구성 요소

사용자 계정이 생성될 때 다음과 같은 주요 구성 요소들이 설정됩니다:

주요 계정 구성 요소

  • 사용자 이름 (Username): 계정의 고유 식별자로, 로그인 시 사용됩니다.
  • 사용자 ID (UID): 시스템이 사용자를 식별하는 숫자 ID로, `/etc/passwd`에 기록됩니다.
  • 기본 그룹 (Primary Group): 사용자가 생성될 때 자동으로 할당되는 주 그룹입니다.
  • 보조 그룹 (Supplementary Groups): 사용자가 추가적으로 속할 수 있는 그룹들입니다.
  • 홈 디렉토리 (Home Directory): 사용자의 개인 파일이 저장되는 공간입니다. 일반적으로 `/home/username` 형식입니다.
  • 로그인 쉘 (Login Shell): 사용자가 로그인했을 때 실행될 기본 쉘 프로그램입니다. (예: `/bin/bash`, `/bin/sh`, `/bin/false`)
  • 비밀번호: 사용자 인증에 사용되며, `passwd` 명령어를 통해 별도로 설정해야 합니다.

📂 기본 설정 파일 (스켈레톤 디렉토리)

/etc/skel

새로운 사용자 계정이 생성될 때, 사용자의 홈 디렉토리에는 미리 정의된 기본 설정 파일들(예: `.bashrc`, `.profile`)이 복사됩니다. 이 파일들은 보통 `/etc/skel` 디렉토리에 위치하며, 이를 스켈레톤 디렉토리라고 부릅니다.

주요 useradd 명령어 옵션

`useradd` 명령어는 사용자의 홈 디렉토리, 쉘, 그룹, 만료일 등 다양한 계정 속성을 설정할 수 있는 옵션들을 제공합니다.

1. 계정 기본 설정

2. 그룹 및 UID/GID 설정

3. 계정 만료 및 기타

생성된 명령어:

명령어를 조합해 보세요.

설명:

`useradd` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

`useradd` 명령어의 다양한 활용 예시들을 통해 새로운 사용자 계정을 생성하고 속성을 설정하는 방법을 익혀보세요.

새로운 사용자 계정 생성 (기본 설정)

sudo useradd testuser

`testuser`라는 새 사용자 계정을 생성합니다. 이 계정의 홈 디렉토리와 비밀번호는 아직 설정되지 않았습니다.

홈 디렉토리와 함께 새 사용자 계정 생성

sudo useradd -m devuser
sudo passwd devuser

`devuser`라는 새 사용자 계정을 생성하고, `/home/devuser` 홈 디렉토리를 생성하며 `/etc/skel`의 기본 설정 파일을 복사합니다. 계정 생성 후 `passwd` 명령어로 비밀번호를 설정해야 로그인할 수 있습니다.

특정 홈 디렉토리와 쉘을 가진 사용자 생성

sudo useradd -m -d /var/www/webuser -s /bin/false webuser

`webuser`라는 계정을 생성하고, 홈 디렉토리를 `/var/www/webuser`로, 기본 쉘을 `/bin/false`(로그인 불가)로 설정합니다. 웹 서비스용 계정에 적합합니다.

사용자를 여러 그룹에 추가

sudo useradd -m -G sudo,www-data -c "Administrator for Web" adminuser
sudo passwd adminuser

`adminuser` 계정을 생성하고, `sudo` 그룹과 `www-data` 그룹에 추가하며, 사용자 설명도 함께 설정합니다.

만료일이 있는 사용자 계정 생성

sudo useradd -m -e 2025-12-31 tempuser
sudo passwd tempuser

`tempuser` 계정을 생성하고, 홈 디렉토리를 만들며, 2025년 12월 31일에 계정이 만료되도록 설정합니다. 임시 작업자 계정에 유용합니다.

현재 useradd 기본값 확인

useradd -D

새로운 사용자를 생성할 때 적용될 기본값(기본 그룹, 홈 디렉토리 접두사, 쉘 등)을 확인합니다.


동일 카테고리 명령어