2 minute read

유저는 각각 유저네임, 비밀번호, 홈디렉토리, 기본 쉘 등의 정보를 갖고 있습니다.

이 글은 우분투에서 유저 정보를 수정하는 방법을 정리한 글입니다.

파일을 변경해 사용자 정보를 수정할 수도 있지만 파일의 무결성이 깨질 수 있기 때문에 명령어를 통한 수정을 권장합니다.

usermod

수정할 수 있는 사용자 정보가 많아 자주 사용되는 명령어입니다.

/etc/group 그룹 정보

/etc/gpasswd 그룹 패스워드 정보

/etc/passwd 사용자 정보

/etc/shadow 사용자 패스워드 정보

참고 : die.net, usermod manual

UID, Username, home_dir 을 변경하기 전에 사용자가 실행중인 프로세스를 모두 종료해야 합니다.

crontab이나 at 파일은 수동으로 변경해야합니다.

You must make certain that the named user is not executing any processes when this command is being executed if the user’s numerical user ID, the user’s name, or the user’s home directory is being changed. usermod checks this on Linux, but only check if the user is logged in according to utmp on other architectures.

You must change the owner of any crontab files or at jobs manually.

You must make any changes involving NIS on the NIS server.


사용자 정보 옵션

옵션 내용
-l, –login NEW-LOGIN Username을 변경합니다. 홈디렉토리 이름은 변경되지 않습니다.
-u, –uid UID UID를 변경합니다. mailbox, 소유한 파일, 홈디렉토리 내 파일 소유주가 함께 수정됩니다.
음수는 불가능합니다.
일반적으로 0~999 계정은 시스템 계정용으로 예약되어있습니다.(/etc/login.defs)
ㄴ-o, –non-unique NEW-LOGIN UID가 유니크하지 않도록 허용합니다.

그룹 수정 옵션

유저가 속한 그룹 정보를 수정할 수 있습니다.

유저는 하나의 primary group 과 다수의 supplementary group에 속할 수 있습니다.

옵션 내용
-aG, –append, –gid GROUP 유저를 supplementary 그룹에 추가합니다.
-g, –gid GROUP Primary Group을 변경합니다.
-G, –groups GROUPS,GROUP2 Secondary Groups를 설정합니다. 각 그룹은 공백없는 콤마로 구분합니다. 수정 시 명령어에 추가하지 않은 그룹에서는 제외됩니다.

패스워드 관련 옵션

패스워드로 로그인할 수 있는지 여부를 지정합니다. 인증서 방식 등 다른 로그인 방법도 있기 떄문에 계정 비활성화와는 차이가 있습니다.

옵션 내용
-L, –lock 사용자 패스워드를 잠급니다. 암호화된 비밀번호 앞에 ‘!’가 추가되며, 패스워드로 로그인할 수 없게됩니다.(계정 비활성화가 아니며, ssh 등으로는 가능)
-U, –unlock 사용자 패스워드 잠금을 해제합니다. 암호화된 비밀번호 앞에 있는 ‘!’가 제거됩니다.
-p 암호화된 비밀번호를 출력합니다.

계정 활성화 / 비활성화 옵션

시스템 내 계정이 특정일이 지나면 비활성화 되도록 지정할 수 있습니다.

옵션 내용  
-e, –expiredate EXPIRE-DATE 사용자 계정이 비활성화 되는 날짜를 지정합니다. 포맷은 YYYY-MM-DD입니다.  
-f, –inactive INACTIVE 암호가 만료된 후 계정이 영구적으로 비활성화 되기까지의 일 수를 지정합니다. -1로 지정하면 비활성화됩니다.  

사용자 정보 수정 옵션

옵션 내용
-c, –comment COMMENT 코멘트를 수정합니다.
-d, –home HOME-DIR 디렉토리를 수정합니다.
-l, –login NEW-LOGIN 로그인 계정을 변경합니다.

홈 디렉토리 옵션

유저 디렉토리 경로를 수정합니다. 존재하지 않는 디렉토리면 새로 생성합니다.

이전 디렉토리를 함께 가져올 수 있습니다 (-m옵션)

옵션 내용
-d, –directory HOME-DIR-PATH 계정 디렉토리 경로를 수정합니다. 없으면 생성합니다.
ㄴ -m, –move 이전 홈디렉토리를 옮깁니다.

chage

시스템의 비밀번호 변경 정책을 수립할 때 유용합니다.

주어진 유저의 Password aging을 수행하는 명령어 입니다.

지정된 옵션이 없으면 대화형으로 동작합니다.

chage [options] LOGIN

계정 관련 날짜 지경

사용자 계정의 비밀번호 변경 요청은 계정의 날짜 정보를 기준으로 합니다.

아래는 기준이 되는 날짜들의 설명입니다.

옵션 내용
-d, –lastday LAST-DATE 계정의 마지막 변경 날짜를 지정합니다.
비밀번호를 변경해야 하는 날짜 계산시 기준이 됩니다.
YYYY-MM-DD 포맷을 갖습니다.
-E, –expiredate EXPIRE-DATE 계정에 엑세스할 수 없는 날짜를 지정합니다. -1은 비밀번호 만료를 비활성화 합니다.

유지 일 수 지정

날짜 정보를 기준으로 N일 뒤의 계정 상태를 처리하는 옵션입니다.

-m, –mindays MIN-DAYS 비밀번호를 유지해야 하는 최소 일 수 기한 (0이면 비활성화)
-M, –maxdays MAX-DAYS 비밀번호를 유지할 수 있는 최대 일 수 (-1이면 비활성화)
-W, –warndays WARN-DAYS 만료 몇 일 전에 암호 변경 요청을 나타낼지 지정
-I, –inactive INACTIVE-DAYS 만료 몇 일 후에 계정이 잠길 것인지 지정합니다. (-1 시 비활성화)

날짜 계산하기

비밀번호 만료 날짜(EXPIRE-DATE) : LAST-DATE + MAX-DAYS

비밀번호 만료 경고 날짜(WARN-DATE) : EXPIRE-DATE - WARN-DAYS

계정 비활성화 날짜 : (INACTIVE-DATE) : EXPIRE-DATE + INACTIVE-DAYS


정보 출력

옵션 내용
-l, –list 유저의 리스트 정보를 출력

Tags:

Categories:

Updated:

Leave a comment