SW/리눅스

Linux : Usermod 명령어, 예제, 사용 방법

얇은생각 2022. 12. 7. 07:30
반응형

이 문서에서는 usermode 명령을 사용하여 사용자를 그룹에 추가하고, 사용자 셸, 로그인 이름, 홈 디렉토리 등을 변경하는 방법에 대해 설명합니다.

 

 

Linux : Usermod 명령어, 예제, 사용 방법

 

 

usermod 명령어

usermode 명령의 구문은 다음과 같은 형식을 취합니다.

usermod [options] USER

 

 

sudo 액세스 권한이 있는 루트 또는 사용자만 사용자 모드를 호출하고 사용자 계정을 수정할 수 있습니다. 성공하면 명령이 출력을 표시하지 않습니다.

 

 

 

 그룹에 사용자를 추가

사용자 모드의 가장 일반적인 사용 사례는 그룹에 사용자를 추가하는 것입니다.

기존 사용자를 보조 그룹에 추가하려면 그룹 이름과 사용자 이름 뒤에 있는 -a-G 옵션을 사용합니다.

usermod -a -G GROUP USER

 

 

사용자를 여러 그룹에 동시에 추가하려면 공백 없이 -G 옵션 뒤에 있는 그룹을 지정합니다.

예를 들어 사용자 linuxize를 게임 그룹에 추가하려면 다음 명령을 실행합니다.

sudo usermod -a -G games jjeongil

 

 

사용자를 새 그룹에 추가할 때는 항상 -a(추가) 옵션을 사용하십시오. -a 옵션을 생략하면 사용자가 -G 옵션 뒤에 나열되지 않은 그룹에서 제거됩니다.

사용자 또는 그룹이 없는 경우 명령이 경고를 표시합니다.

 

 

 

사용자 기본 그룹을 변경

사용자의 기본 그룹을 변경하려면 그룹 이름 및 사용자 이름 뒤에 있는 -g 옵션을 사용하여 usermode 명령을 호출합니다.

sudo usermod -g GROUP USER

 

 

다음 예제에서는 사용자 jjeongil의 기본 그룹을 개발자로 변경하고 있습니다.

usermod -g developers jjeongil

 

 

각 사용자는 정확히 하나의 기본 그룹과 0개 이상의 보조 그룹에 속할 수 있습니다.

 

 

 

사용자 정보를 변경

GECOS(사용자의 전체 이름) 정보를 변경하려면 -c 옵션과 함께 명령을 실행하고 새 주석 및 사용자 이름을 입력하십시오.

usermod -c "GECOS Comment" USER

 

 

다음은 사용자 리눅스화에 추가 정보를 추가하는 방법을 보여 주는 예입니다.

usermod -c "Test User" jjeongil

 

 

이 정보는 /etc/passwd 파일에 저장됩니다.

 

 

 

사용자 홈 디렉토리를 변경

대부분의 리눅스 시스템에서 사용자 홈 디렉토리는 사용자 이름을 따서 명명되고 /home 디렉토리 아래에 생성됩니다.

어떤 이유로 사용자의 홈 디렉토리를 변경하려면 새 홈 디렉토리의 절대 경로와 사용자 이름을 따라 -d 옵션을 사용하여 usermod 명령을 호출합니다.

usermod -d HOME_DIR USER

 

 

기본적으로 이 명령은 사용자의 홈 디렉토리 내용을 새 디렉토리로 이동하지 않습니다. 내용을 이동하려면 -m 옵션을 사용합니다. 새 디렉터리가 아직 없는 경우 다음 디렉터리가 생성됩니다.

usermod -d HOME_DIR -m USER

 

 

다음은 사용자 www-data의 홈 디렉토리를 /var/www로 변경하는 방법을 보여 주는 예입니다.

usermod -d /var/www www-data

 

 

 

사용자 기본 셸을 변경

기본 셸은 시스템에 로그인한 후 실행되는 셸입니다. 대부분의 리눅스 시스템에서는 기본적으로 기본 셸이 Bash Shell로 설정됩니다.

사용자의 기본 셸을 변경하려면 셸의 절대 경로와 사용자 이름을 따르는 -s 옵션을 사용하여 명령을 실행합니다.

usermod -s SHELL USER

 

 

아래 예에서는 사용자 셸을 Zsh로 변경합니다.

sudo usermod -s /usr/bin/zsh jjeongil

 

 

/etc/shells 파일의 내용을 표시하여 시스템에서 사용할 수 있는 셸을 확인할 수 있습니다.

 

 

 

사용자 UID를 변경

UID(사용자 식별자)는 각 사용자에게 할당된 번호입니다. 운영 체제에서 사용자를 나타내는 데 사용됩니다.

사용자 UID를 변경하려면 새 UID와 사용자 이름 뒤에 -u 옵션이 있는 명령을 호출합니다.

usermod -u UID USER

 

 

아래 예제는 "UID" 번호를 "1050"으로 변경하는 방법을 보여줍니다.

sudo usermod -u 1050 jjeongil

 

 

사용자가 소유하고 있는 파일의 UID는 사용자의 홈 디렉토리에 있으며 사용자의 사서함 파일은 자동으로 변경됩니다. 다른 모든 파일의 소유권을 수동으로 변경해야 합니다.

 

 

 

사용자 이름을 변경

자주 있는 것은 아니지만 기존 사용자의 이름을 변경할 수도 있습니다. -l 옵션은 사용자 이름을 변경하는 데 사용됩니다.

usermod -l NEW_USER USER

 

 

아래 예에서는 사용자 linuxize의 이름을 lisa에서 "1050"으로 변경합니다.

sudo usermod -l jjeongil lisa

 

 

사용자 이름을 변경할 때 새 사용자 이름을 반영하도록 사용자의 홈 디렉토리를 변경할 수도 있습니다.

 

 

 

사용자 만료 날짜를 설정

만료 날짜는 사용자 계정이 비활성화되는 날짜입니다. 사용자의 만료 날짜를 설정하려면 -e 옵션을 사용합니다.

sudo usermod -e DATE USER

 

 

만료 날짜는 YYYY-MM-DD 형식을 사용하여 설정해야 합니다.

예를 들어 2022-02-21에서 사용자 linuxize를 사용하지 않도록 설정하려면 다음 명령을 실행합니다.

sudo usermod -e "2022-02-21" jjeongil

 

 

계정 만료를 사용하지 않으려면 빈 만료 날짜를 설정합니다.

sudo usermod -e "" jjeongil

 

 

chage -l 명령을 사용하여 사용자의 만료 날짜를 확인합니다.

sudo chage -l jjeongil

# Last password change					: Jul 24, 2018
# Password expires					: never
# Password inactive					: never
# Account expires						: never
# Minimum number of days between password change		: 0
# Maximum number of days between password change		: 99999
# Number of days of warning before password expires	: 7

 

 

만료 날짜는 /etc/shadow 파일에 저장됩니다.

 

 

 

사용자 계정을 잠그고 잠금 해제

-L 옵션을 사용하면 사용자 계정을 잠글 수 있습니다.

usermod -L USER

 

 

명령은 암호화된 암호 앞에 느낌표(!) 표시를 삽입합니다. /etc/shadow 파일의 암호 필드에 느낌표가 있으면 사용자는 암호 인증을 사용하여 시스템에 로그인할 수 없습니다. 키 기반 인증 또는 사용자 전환과 같은 다른 로그인 방법은 여전히 허용됩니다. 계정을 잠그고 모든 로그인 방법을 비활성화하려면 만료 날짜도 1로 설정해야 합니다.

다음 예에서는 사용자를 jjeongil로 잠그는 방법을 보여 줍니다.

sudo usermod -L jjeongil
sudo usermod -L -e 1 jjeongil

 

 

사용자의 잠금을 해제하려면 -U 옵션을 사용하여 사용자 모드를 실행하십시오.

usermod -U USER

 

 

usermode 명령을 사용하여 사용자 계정 정보를 설정하는 방법을 보여드렸습니다.

반응형