이 문서에서는 usermode 명령을 사용하여 사용자를 그룹에 추가하고, 사용자 셸, 로그인 이름, 홈 디렉토리 등을 변경하는 방법에 대해 설명합니다.
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 명령을 사용하여 사용자 계정 정보를 설정하는 방법을 보여드렸습니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Kernel 자동 업데이트 설정 방법, 예제, 명령어 (0) | 2022.12.09 |
---|---|
Linux : Ubuntu 20.04 : Chromium Web Browser 설치 방법, 예제, 명령어 (0) | 2022.12.08 |
Linux : Ubuntu 20.04 : Atom Text Editor 설치 방법, 예제, 명령어 (0) | 2022.12.06 |
Linux : Ubuntu 20.04 : Slack 설치 방법, 예제, 명령어 (1) | 2022.12.04 |
Linux : Ubuntu 20.04 : User 추가, 삭제 방법, 예제, 명령어 (1) | 2022.12.03 |