개발 창고/Server
[Linux] How to change user account information
로이제로
2023. 11. 7. 22:00
반응형
How to change user account information
리눅스 계정을 만들면 일반적으로 계정 아이디를 바꾸는 경우가 많이 발생하지 않지만 알아두거나 메모해 두면 굳이 내 비활성 메모리인 뇌에 저장하지 않아도 되므로 많은 도움이 될 겁니다. 또한 usermod는 계정 아이디뿐만 아니라 각 종 정보를 변경하는 데 사용됩니다.
usermod
- 사용자 계정과 관련된 다양한 정보들을 변경하는 명령어
usermod [옵션] <계정>
주요 옵션 | 내용 | |
-c | --comment COMMENT | 사용자의 간단한 정보를 입력하거나 변경 (comment) |
-d | --home HOME_DIR | 사용자 홈 디렉토리를 변경. 변경할 디렉터리는 미리 생성되어야 합니다. -m과 같이 사용하면 사용하던 홈 디렉터리 파일과 디렉터리도 같이 옮겨줍니다. |
-e | --expiredate EXPIRE_DATE | 계정만기일 변경. YYYY-MM-DD 또는 MM/DD/YY 형태로 지정 |
-f | --inactive INACTIVE | 패스워드 만기일이 지난 후 패스워드 잠금을 설정할 유예기간을 지정 |
-g | --gid GROUP | 사용자 기본그룹 변경 |
-G | --groups GROUPS | 사용자 추가그룹 변경 (기본 그룹외 다른 그룹 추가) |
-a | --append | -G옵션과 함께 사용하는 옵션으로 2차 그룹 이외에 추가 그룹을 지정할 때 사용 |
-l | --login NEW_LOGIN | 사용자 아이디 변경 |
-L | --lock | 사용자 패스워드 잠금 |
-m | --move-home | 사용자의 홈 디렉터리 변경 시 기존에 사용하던 파일 및 디렉터리를 옮겨주는 옵션으로 -d와 함께 사용됩니다. |
-p | --password PASSWORD | /etc/shadow의 2번째 필드인 암호화된 패스워드 값을 변경. 이 옵션 사용 시 암호화된 값으로 값을 지정해주어야 함 |
-s | --shell SHELL | 사용자 쉘 변경 |
-u | --uid UID | 사용자 UID 변경 |
-U | --unlock | 사용자 패스워드 잠금 해제 |
요구사항
- usermod 명령어를 실행하려면 기존 사용자 계정이 있어야 합니다.
- 관리자계정(root)만 usermod 명령어를 실행할 수 있습니다.
- usermod 명령어는 모든 Linux 배포판에서 실행할 수 있습니다.
- usermod 명령어를 사용하기 위해서는 옵션에 대한 기본 지식이 있어야 합니다.
사용예시
▶︎ 사용자 계정 변경
usermod -l 신규계정명 기존계정명
# 기존 계정 정보 확인
$> grep user1 /etc/passwd
# 신규 계정 정보 확인
$> grep user2 /etc/passwd
# 계정 정보 변경 (root권한 필요)
$> sudo usermod -l user2 user1
# 기존 계정 정보 확인
$> grep user1 /etc/passwd
# 신규 계정 정보 확인
$> grep user2 /etc/passwd
▶︎ 코멘트 달기
usermod -c "코멘트" <계정>
# 기존 코멘트 확인
$> grep user2 /etc/passwd
# 코멘트 변경
$> sudo usermod -c "This is user2 comment" user2
# 변경 코멘트 확인
$> grep user2 /etc/passwd
▶︎ 계정 만기일 설정
usermod -e <만기일(YYYY-MM-DD or DD/MM/YY)> <계정>
# 변경 전 계정 만기일 확인
$> sudo chage -l user2
# 계정이 2023년 10월 09일에 만기 되도록 변경
$> sudo usermod -e 2023-10-09 user2
# 변경 된 계정 만기일 확인
$> sudo chage -l user2
▶︎ 계정 그룹 변경
usermod -g <새로운그룹> <계정>
# user2 계정의 현재 그룹 확인
$> id user2
# 신규 그룹을 만드는 경우 (기존 그룹에 추가하려면 Pass)
$> sudo groupadd group2
# user2 계정의 그룹을 user1(group명)에서 group2로 변경
$> sudo usermod -g group2 user2
# user2 계정의 변경 된 그룹 확인
$> id user2
▶︎ 추가 그룹 설정 (groups에 추가)
usermod -G <추가할그룹> <계정>
# user2의 현재 그룹 정보 확인
$> id user2
# user2에 user1 그룹 추가 (이전 예시에서 변경한 user1그룹을 서브 그룹으로 포함)
$> sudo usermod -G user1 user2
# user2의 추가 그룹 정보 확인
$> id user2
▶︎ 계정 쉘 변경
usermod -s <쉘> <계정>
# user2의 기존 쉘 확인
$> grep user2 /etc/passwd
# 쉘을 telnet 또는 ssh에서 접근 불가한 /bin/false로 변경
$> sudo usermod -s /bin/false user2
# user2의 변경 쉘 확인
반응형