usermod 개요
`usermod` 명령어는 `useradd`로 생성된 사용자 계정의 정보를 `/etc/passwd`, `/etc/shadow`, `/etc/group`, `/etc/gshadow`와 같은 시스템 파일에서 수정합니다. 사용자가 로그인한 상태에서 계정 정보를 변경하면 문제가 발생할 수 있으므로, 변경하려는 사용자가 로그아웃했는지 확인하거나 신중하게 작업해야 합니다. 이 모든 과정은 관리자 권한(`sudo`)이 필요합니다.
usermod의 주요 역할
`usermod` 명령어는 주로 다음과 같은 목적으로 사용됩니다:
주요 활용 분야
- 사용자 정보 수정: 기존 사용자 계정의 로그인 이름, 홈 디렉토리, 쉘 등을 변경합니다.
- 그룹 멤버십 관리: 사용자를 새로운 그룹에 추가하거나 기존 그룹에서 제거합니다.
- 계정 상태 조정: 계정의 만료일을 설정하거나 계정을 잠그고 해제합니다.
- UID/GID 변경: 사용자의 고유 ID(UID)나 기본 그룹 ID(GID)를 변경합니다. (매우 주의 필요)
useradd vs usermod
`useradd`는 새로운 계정을 '생성'하는 데 사용되며, `usermod`는 이미 존재하는 계정의 속성을 '수정'하는 데 사용됩니다.
주요 usermod 명령어 옵션
`usermod` 명령어는 사용자의 다양한 계정 속성을 변경할 수 있는 폭넓은 옵션들을 제공합니다.
1. 계정 이름 및 ID 변경
2. 그룹 멤버십 변경
3. 홈 디렉토리 및 쉘 변경
4. 계정 상태 및 기타
생성된 명령어:
명령어를 조합해 보세요.
설명:
`usermod` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
`usermod` 명령어의 다양한 활용 예시들을 통해 기존 사용자 계정의 속성을 효율적으로 변경하고 관리하는 방법을 익혀보세요.
사용자 이름 변경
sudo usermod -l newuser -m -d /home/newuser olduser
`olduser`의 로그인 이름을 `newuser`로 변경합니다. 계정 정보와 홈 디렉토리 이름이 함께 변경됩니다.
사용자를 'sudo' 그룹에 추가
sudo usermod -aG sudo devuser
`devuser` 사용자를 `sudo` 그룹에 추가하여 관리자 권한을 사용할 수 있도록 합니다. 기존 그룹 멤버십은 유지됩니다.
사용자의 기본 쉘 변경
sudo usermod -s /bin/zsh testuser
`testuser`의 기본 로그인 쉘을 `/bin/zsh`로 변경합니다.
사용자 계정 잠금
sudo usermod -L guestuser
`guestuser` 계정을 잠가서 더 이상 로그인할 수 없게 만듭니다. 이는 계정을 비활성화하지만 삭제하지는 않을 때 유용합니다.
사용자 계정 잠금 해제
sudo usermod -U guestuser
이전에 잠갔던 `guestuser` 계정을 다시 활성화하여 로그인할 수 있게 합니다.
사용자 계정 만료일 설정
sudo usermod -e 2025-12-31 tempuser
`tempuser` 계정이 2025년 12월 31일에 자동으로 만료되도록 설정합니다.
사용자의 모든 보조 그룹 변경 (기존 그룹 제거)
sudo usermod -G developers john
`john` 사용자가 `developers` 그룹에만 속하도록 하고, 이전에 속해 있던 다른 보조 그룹들은 모두 제거합니다.