강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

사용자및그룹관리3편 : 사용자 계정정보를 수정하는 usermod에 대하여

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

사용자및그룹관리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
sspark5:x:506:508::/home/sspark5:/bin/bash
[root@host3 root]#
[root@host3 root]# grep sspark5 /etc/shadow
sspark5:$1$/H.bOlGk$jasdfadseEdF1g7naK9vVe4v5i/s/:12314:0:99999:7:::
[root@host3 root]#
[root@host3 root]# grep sspark5 /etc/group
sspark5:x:508:
[root@host3 root]#

 

위의 초기 설정값을 간단히 보면 UID 506, GID 508, 코멘트는 현재 없으며, 홈디렉토리는 /home/sspark5이며, 사용하는 기본쉘은 bash쉘임을 알 수 있습니다. 

 

 


이제 이 값들을 usermod를 이용하여 수정해 보도록 하겠습니다. 

 

  먼저, sspark5사용자의 코멘트를 입력해 보겠습니다. 

 

 

[root@host3 root]# usermod -c 성수 sspark5
[root@host3 root]#

 

위의 예와 같이 코멘트를 수정하는 usermod의 옵션은 -c입니다. 

 

  다음은 /etc/passwd내에 sspark5의 변경된 코멘트를 확인한 것입니다. 

 

 

[root@host3 root]# grep sspark5 /etc/passwd
sspark5:x:506:508:
박성수:/home/sspark5:/bin/bash
[root@host3 root]#


, 위의 결과를 보시면 /etc/passwd내의 sspark5계정의 코멘트정보가 박성수로 설정되어있다는 것을 알 수 있습니다. 

 

 

 


특정 계정사용자의 홈디렉토리 위치 변경하기

 

이번에는 sspark5사용자의 홈디렉토리를 변경해 보겠습니다. 

 

  usermod에서 홈디렉토리를 변경하는 옵션은 -d입니다. 

 

 

[root@host3 root]# usermod -d /usr/sspark5 sspark5
[root@host3 root]#

 

위와 같이 홈디렉토리를 변경하였습니다. 

 

  다음은 변경된 값을 확인한 것입니다. 

 

 

[root@host3 root]# grep sspark5 /etc/passwd
sspark5:x:506:508:
박성수:/usr/sspark5:/bin/bash
[root@host3 root]#

 

여기서 한가지 의문점이 생길 수 있습니다. 

 

  , "홈디렉토리의 위치가 변경이 되면 기존 홈디렉토리에 있던 파일들이 새로운 홈디렉토리로 복사되어지는가?라는 의문점이 발생합니다. 

 

  하지만, 너무 복잡하게 생각할 것 없습니다. 

 

   usremod는 단지 /etc/passwd파일내의 홈디렉토리위치값만을 변경해 줄 뿐이며 실제 홈디렉토리내에 존재하고 있는 파일들은 그대로 존재하고 있습니다. 

 

그리고 새로 지정된 홈디렉토리도 자동생성되지 않습니다. 

 

  결론적으로 usermod로 변경되는 값은 /etc/passwd내의 값임을 알 수 있습니다. 

 

 

 

 

특정 계정사용자의 계정사용종료일 설정하기

 

이번에는 -e옵션을 사용하여 sspark5의 계정 종료일을 설정해 보겠습니다. 

 

 

[root@host3 root]# usermod -e 2006-12-31 sspark5
[root@host3 root]#

 

위와 같이 설정한 후에 /etc/shadow파일을 확인한 것입니다. 

 

  계정 종료일의 설정은 위에서 보았던 /etc/shadow파일의 내용과는 달리 '13513"이 설정되어 있다는 것을 알 수가 있습니다. 

 

 

[root@host3 root]# grep sspark5 /etc/shadow
sspark5:$1$/H.bOlGk$jeEdF1sdfsdfg7naK9vVdfe4v5i/s/:12314:0:99999:7::13513:
[root@host3 root]#

 

, 위의 결과를 보시면 /etc/shadow파일의 sspark5계정의 종료일 정보가 “13513”으로  변경되어있다는 것을 알 수 있습니다. 

 

 

 


특정 계정사용자의 기본사용쉘(로그인쉘) 변경하기

 

이번에는 sspark5의 기본사용쉘(로그인쉘)을 변경해 보겠습니다. 

 

   sspark5의 원래 사용했던 기본사용쉘(로그인쉘) /bin/bash(Bash Shell)이였습니다. 

 

 


이것을 usermod로 다음과 같이 /bin/csh(C Shell)로 변경한 것입니다. 

 

 

[root@host3 root]# usermod -s /bin/csh sspark5 
[root@host3 root]#

 

이를 확인하기 위하여 /etc/passwd의 내용을 확인 하였습니다. 

 

 

[root@host3 root]# grep sspark5 /etc/passwd
sspark5:x:506:508:
박성수:/usr/sspark5:/bin/csh
[root@host3 root]#

 

, 위의 결과를 보시면 /etc/passwd내의 sspark5계정의 기본사용쉘(로그인쉘)“/bin/csh”로 변경되어있다는 것을 알 수 있습니다. 

 

 

 

특정 계정사용자의 UID값 변경하기

 

이번에는 sspark5 UID를 변경해 보겠습니다. 

 

   UID를 변경하기 위해서는 -u옵션을 사용하면 됩니다. 

 

 

[root@host3 root]# usermod -u 508 sspark5    
[root@host3 root]#

 

원래 sspark5 UID 506이였던 것을 508로 변경한 것입니다. 

 

  다음은 변경된 UID값을 확인한 것입니다. 

 

 

[root@host3 root]# grep sspark5 /etc/passwd
sspark5:x:508:508:
박성수:/usr/sspark5:/bin/csh
[root@host3 root]#

 

, 위의 결과를 보시면 /etc/passwd내의 sspark5계정의 UID값이 “508”로 변경되어있다는 것을 알 수 있습니다. 

 

 

 


특정 계정사용자의 ID와 패스워드 변경하기

 

이번에는 sspark5라는 계정사용자의 ID와 패스워드를 변경해 보겠습니다. 

 

  usermod로 계정 사용자의 ID를 수정하려면 -l옵션을 사용합니다. 

 

 그리고 패스워드를 변경하려면 -p옵션을 사용합니다. 

 

 

[root@host3 root]# usermod -l bible5 -p 12345678 sspark5
[root@host3 root]#

 

위와 같이 사용자의 ID를 바꾸는 것은 무리가 따르는 작업일 것입니다. 

 

  리눅스에서 유일하게 구분되는 것이 계정의 ID인데 이를 변경한다는 것은 완전히 다른 사용자로 바뀐다는 것을 의미하므로 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋을 것입니다. 

 

 

 

다음은 ID자체가 바뀐 /etc/passwd내의 내용을 확인한 것입니다. 

 

 

[root@host3 root]# grep bible5 /etc/passwd
bible5:x:508:508:
박성수:/usr/sspark5:/bin/csh
[root@host3 root]#

 

, 위의 결과를 보시면 /etc/passwd내의 sspark5계정의 ID bible5로 변경되었다는 것을 알 수 있습니다. 

 

 또한 /etc/shadow파일에 보시면  패스워드가 12345678로 변경되어 있습니다. 

 

 


이상과 같이 계정생성 및 삭제, 그리고 계정정보 변경에 대해서 모두 살펴보았습니다. 

 

 이번 절에서 설명한 특정 계정사용자의 계정정보는 useradd, userdel, usermod를 통하여 계정 생성,삭제,변경등이 가능하다는 것을 아셨을 것입니다. 

 

 기초적인 내용이지만 꼭 숙지하시기 바랍니다. 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,033 명
  • 현재 강좌수 :  35,781 개
  • 현재 접속자 :  136 명