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