사용자및그룹관리3편 : 사용자 계정정보를 수정하는 usermod에 대하여
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 6,500 조회
- 0 추천
- 목록
본문
사용자및그룹관리3편 : 사용자 계정정보를 수정하는 usermod에 대하여
usermod는 사용자 계정정보를 수정하는 명령어입니다.
즉, 기존에 생성되어 있는 계정사용자의 다음과 같은 계정정보들을 수정 할 수 있습니다.
아래 usermod로 변경할 수 있는 정보들을 확인하시기 바랍니다.
. 홈디렉토리정보
. 계정종료일자정보
. 기본그룹정보
. 추가그룹정보
. 사용자 계정ID정보변경
. 사용자 패스워드
. 사용자 기본사용쉘변경
. 사용자 UID정보변경
. 코멘트정보
즉, usermod를 사용하면 사용자계정의 ID뿐아니라 /etc/passwd내에 있는 거의 모든 정보를 변경할 수 있습니다.
즉, 특정 계정사용자의 계정정보변경을 위해 유용하게 사용할 수 있는 명령어입니다.
[참고] 계정정보를 각 파일에서 직접 변경하는 방법 이번 절에서 설명하는 usermod를 이용한 사용자 계정정보 변경작업은 vi를 이용하여 /etc/passwd, /etc/shadow, /etc/group파일을 직접 수정(편집)할 수도 있습니다.
대부분 이렇게 변경하면 안된다라고 생각하시지만 직접 해보면 아주 당연하게 적용이 됩니다.
|
자, 그럼 이제부터 usermod명령어를 이용하여 특정 계정사용자의 계정정보를 변경하는 예를 보도록 하겠습니다.
특정 계정사용자의
계정정보 수정하기
먼저, usermod를 이용하여 특정 계정사용자의 계정정보를 변경해 보도록 하겠습니다.
즉, 아래의 예는 sspark5라는 계정사용자의 /etc/passwd, /etc/shadow, /etc/group내에 설정된 기본 설정내용 입니다.
[root@host3
root]# grep sspark5 /etc/passwd |
위의 초기 설정값을 간단히 보면 UID는 506, GID는 508, 코멘트는 현재 없으며, 홈디렉토리는 /home/sspark5이며, 사용하는 기본쉘은 bash쉘임을 알 수 있습니다.
이제 이 값들을 usermod를
이용하여 수정해 보도록 하겠습니다.
먼저, sspark5사용자의 코멘트를 입력해 보겠습니다.
[root@host3
root]# usermod -c 박성수 sspark5 |
위의 예와 같이 코멘트를 수정하는 usermod의 옵션은 -c입니다.
다음은 /etc/passwd내에 sspark5의 변경된 코멘트를 확인한 것입니다.
[root@host3
root]# grep sspark5 /etc/passwd |
즉, 위의 결과를 보시면 /etc/passwd내의 sspark5계정의 코멘트정보가 “박성수”로 설정되어있다는 것을 알 수 있습니다.
특정 계정사용자의
홈디렉토리 위치 변경하기
이번에는 sspark5사용자의 홈디렉토리를 변경해 보겠습니다.
usermod에서 홈디렉토리를 변경하는 옵션은 -d입니다.
[root@host3
root]# usermod -d /usr/sspark5 sspark5 |
위와 같이 홈디렉토리를 변경하였습니다.
다음은 변경된 값을 확인한 것입니다.
[root@host3
root]# grep sspark5 /etc/passwd |
여기서 한가지 의문점이 생길 수 있습니다.
즉, "홈디렉토리의 위치가 변경이 되면 기존 홈디렉토리에 있던 파일들이 새로운 홈디렉토리로 복사되어지는가?라는 의문점이 발생합니다.
하지만, 너무 복잡하게 생각할 것 없습니다.
usremod는 단지 /etc/passwd파일내의 홈디렉토리위치값만을 변경해 줄 뿐이며 실제 홈디렉토리내에 존재하고 있는 파일들은 그대로 존재하고 있습니다.
그리고 새로 지정된 홈디렉토리도 자동생성되지 않습니다.
결론적으로 usermod로 변경되는 값은 /etc/passwd내의 값임을 알 수 있습니다.
특정 계정사용자의 계정사용종료일 설정하기
이번에는 -e옵션을 사용하여 sspark5의 계정 종료일을 설정해 보겠습니다.
[root@host3
root]# usermod -e 2006-12-31 sspark5 |
위와 같이 설정한 후에 /etc/shadow파일을 확인한 것입니다.
계정 종료일의 설정은 위에서 보았던 /etc/shadow파일의 내용과는 달리 '13513"이 설정되어 있다는 것을 알 수가 있습니다.
[root@host3
root]# grep sspark5 /etc/shadow |
즉, 위의 결과를 보시면 /etc/shadow파일의 sspark5계정의 종료일 정보가 “13513”으로 변경되어있다는 것을 알 수 있습니다.
특정 계정사용자의
기본사용쉘(로그인쉘) 변경하기
이번에는 sspark5의 기본사용쉘(로그인쉘)을 변경해 보겠습니다.
sspark5의 원래 사용했던 기본사용쉘(로그인쉘)은 /bin/bash(Bash Shell)이였습니다.
이것을 usermod로
다음과 같이 /bin/csh(C Shell)로 변경한 것입니다.
[root@host3
root]# usermod -s /bin/csh sspark5 |
이를 확인하기 위하여 /etc/passwd의 내용을 확인 하였습니다.
[root@host3
root]# grep sspark5 /etc/passwd |
즉, 위의 결과를 보시면 /etc/passwd내의 sspark5계정의 기본사용쉘(로그인쉘)이 “/bin/csh”로 변경되어있다는 것을 알 수 있습니다.
특정 계정사용자의 UID값 변경하기
이번에는 sspark5의 UID를 변경해 보겠습니다.
UID를 변경하기 위해서는 -u옵션을 사용하면 됩니다.
[root@host3
root]# usermod -u 508 sspark5
|
원래 sspark5의 UID는 506이였던 것을 508로 변경한 것입니다.
다음은 변경된 UID값을 확인한 것입니다.
[root@host3
root]# grep sspark5 /etc/passwd |
즉, 위의 결과를 보시면 /etc/passwd내의 sspark5계정의 UID값이 “508”로 변경되어있다는 것을 알 수 있습니다.
특정 계정사용자의 ID와 패스워드 변경하기
이번에는 sspark5라는 계정사용자의 ID와 패스워드를 변경해 보겠습니다.
usermod로 계정 사용자의 ID를 수정하려면 -l옵션을 사용합니다.
그리고 패스워드를 변경하려면 -p옵션을 사용합니다.
[root@host3
root]# usermod -l bible5 -p 12345678 sspark5 |
위와 같이 사용자의 ID를 바꾸는 것은 무리가 따르는 작업일 것입니다.
리눅스에서 유일하게 구분되는 것이 계정의 ID인데 이를 변경한다는 것은 완전히 다른 사용자로 바뀐다는 것을 의미하므로 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋을 것입니다.
다음은 ID자체가 바뀐 /etc/passwd내의 내용을 확인한 것입니다.
[root@host3 root]# grep
bible5 /etc/passwd |
즉, 위의 결과를 보시면 /etc/passwd내의 sspark5계정의 ID가 bible5로 변경되었다는 것을 알 수 있습니다.
또한 /etc/shadow파일에 보시면 패스워드가 12345678로 변경되어 있습니다.
이상과 같이 계정생성 및 삭제, 그리고 계정정보 변경에 대해서 모두 살펴보았습니다.
이번 절에서 설명한 특정 계정사용자의 계정정보는 useradd, userdel, usermod를 통하여 계정 생성,삭제,변경등이 가능하다는 것을 아셨을 것입니다.
기초적인 내용이지만 꼭 숙지하시기 바랍니다.
관련자료
-
이전
-
다음