useradd 명령어를 통해 사용자 계정을 등록 후 이런 저런 일들로 인해 정보의 변경이 필요할때가 있습니다. vi 편집기를 이용해 수정도 가능하지만 모든 파일을 찾아서 일일이 편집한다는건 불필요한 시간 낭비입니다. 이런 사용자의 정보를 수정하는대 usermod 명령어를 가지고 사용 합니다. usermod 명령어는 /etc/passwd 파일 내에 있는 거의 모든 정보를 수정, 변경 가능하며 최대 사용자 계정명 변경까지 가능합니다.
문제가 한가지 있는대 바로 -d 옵션 입니다. usermod 명령어를 통해 홈 디렉토리 주소를 바꿔버린다면?! 기존 홈 디렉토리에 파일들이 새로운 홈 디렉토리로 복사되지 않습니다.
[그림 1. testUsermod 계정 확인]
위 그림과 같이 testUsermod라는 계정에 정보가 나와 있습니다.
항목 | 정보 |
계정 | testUsermod |
패스워드 | |
UID | 502 |
GID | 502 |
사용자 정보 | |
홈 디렉토리 | /home/testUsermod |
쉘 | bash |
최종 암호 변경일 | 14362 |
암호변경 최소 일수 | 0 |
안호변경 최대 일수 | 99999 |
암호변경 경고 일수 | 7 |
계정 잠금 | |
마지막 계정사용 가능일 | |
예비영역 |
[표 1. /etc/passwd, /etc/shadow 파일 정보]
1. 사용자 정보(코멘트) 넣기
useradd 명령어 수행시 -c 옵션이 있으면 사용자 정보 부분에 입력한 값이 들어가게 됩니다. 보통 useradd 명령시 자주 사용하지 않기 때문에 usermod에서 추가, 변경이 가능합니다. useradd와 마찬가지로 -c옵션으로 사용합니다.
[그림 2. usermod -c]
그림 2 에서 빨간색 밑줄 부분을 보면 비어있던 사용자 정보 부분이 usermod -c 명령어 이후 노란색 밑줄과 같이 사용자 정보가 입력되었습니다.
2. 계정 사용 종료일 설정
-e 옵션으로 종료 일자를 설정하게 됩니다.
[그림 3. usermod -e]
그림 2와 마찬가지로 빨간 밑줄에서 노란 밑줄을 보면 없던 내용이 생긴걸 확인하실 수 있습니다.
다음 표는 usermod로 사용 가능한 옵션들을 설명합니다.
옵션 | 설명 |
-d | 홈 디렉토리 변경 |
-s | 쉘 변경 |
-u | UID값 변경 |
-g | GID값 변경 |
-l(소문자 L) | 계정명 변경 |
-p | 패스워드 변경 |
[표 2. usermod 에서 사용할 검색엔진]
2013.01.06 삭제
2013.01.06 추가 - winape님이 댓글로 알려 주신 내용으로 수정 합니다.
usermod -d 옵션시 -m 옵션 추가로 파일의 복사도 가능합니다.
ex ) usermod -d /home5/userid -m userid
경로 변경 및 폴더, 파일복사까지 완료됩니다.
ex ) usermod -d /home5/userid -m userid
경로 변경 및 폴더, 파일복사까지 완료됩니다.