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

사용자및그룹관리5편 : 사용자 패스워드 관리실무(passwd)

작성자 정보

  • 구돌 작성
  • 작성일

컨텐츠 정보

본문

사용자및그룹관리5: 사용자 패스워드 관리실무(passwd)

 

 

사용자 패스워드를 변경하는 passwd 개론

 

passwd명령어는 사용자의 패스워드 입력 및 변경하는 명령어입니다. 

 

  패스워드는 리눅스서버의 일차적이고 기본적인 보안역할을 하는 것으로 필수관리 항목입니다. 

 

  많은 사용자가 사용하는 서버에서는 가끔식 관리자의 실수로 인하여 패스워드가 설정되어 있지 않은 계정이 존재하는 실수를 범할 수도 있습니다. 

 

 

 

리눅스시스템에서는 기본적인 패스워드는 8자로 제한되지만, MD5를 사용하여 패스워드를 입력할 경우에는 256문자까지 패스워드입력이 가능합니다. 

 

  MD5 -S옵션을 사용하여 설정해야합니다. 

 

 

 

사용형식  :  passwd [-k] [-l] [-u [-f]] [-d] [-S] [사용자ID]

 

이번 passwd편에서 설명하는 패스워드설정방법들을 실무적인 관점에서 설명하고 있습니다. 

 

  특히 호스팅 서버관리자들의 패스워드관리에 큰 도움이 될 것입니다. 

 

 

 

 

관리자에 의한 사용자생성 후 passwd명령어로 패스워드 설정하기

 

서버관리자는 새로운 계정사용자를 생성한 후에는 반드시 패스워드를 설정해야 합니다. 

 

 아래의 예는 useradd 명령어로 bible2라는 계정사용자를 생성한 후에는 passwd명령어로 bible2의 패스워드를 설정한 예입니다. 

 

 패스워드는 두번 동일하게 입력해야 합니다. 

 

 

cb7659c654fd99a396bca435184bb9c9_1649661112_8884.png
 


위의 예와 같이 수퍼유저(root)는 일반계정사용자의 패스워드를 마음대로 변경할 수 있습니다. 

 

 참고로 일반사용자는 자기자신의 패스워드만 변경할 수 있습니다. 

 

 

 

 

일반사용자의 자기자신 패스워드 변경하기

 

일반계정사용자는 자기자신의 패스워드만을 변경할 수가 있으며 자기자신의 패스워드를 변경할 경우에도 기존의 사용중인 패스워드를 입력해야만 변경할 수 있습니다. 

 

 다음의 예는 bible2라는 사용자가 자기의 패스워드를 변경하는 예입니다. 

 

 

cb7659c654fd99a396bca435184bb9c9_1649661127_7475.png
 


위의 예와 같이 일반사용자가 자기자신의 패스워드를 변경하고자 한다면 그냥 passwd라고만 하시면 됩니다. 

 

 그런 다음 현재 사용중인 패스워드를 입력하고 새로 사용할 패스워드를 동일하게 두번 입력해 주시면 패스워드가 변경됩니다. 

 

 

 

 

passwd명령어로 패스워드설정시 MD5로 암호화하기

 

MD5 패스워드를 사용하고자 한다면 아래 예와 같이 -S 옵션으로 설정할 수 있습니다. 

 

 MD5로 암호화하게 되면 패스워드로 사용하는 문자길이를 영문 256자까지 사용할 수 있습니다. 

 

 즉 패스워드문자 길이를 256byte까지 사용가능하다는 의미입니다. 

 

 

cb7659c654fd99a396bca435184bb9c9_1649661140_8727.png
 

 

위의 예는 bible이라는 계정사용자의 패스워드를 MD5로 암호화하여 설정하는 것으로서 일반암호화방식보다 패스워드보안이 더욱 뛰어납니다. 

 

 따라서 MD5로 암호화하는 대부분의 이유는 패스워드 사용문자를 길게 사용하여 보안을 강화하기 위한 것입니다. 

 

  하지만 최근 리눅스 배포판들은 모두 기본적으로 MD5암호화방식을 사용하고 있으므로 굳이 -S옵션을 사용할 필요는 없습니다. 

 

 

 

 

passwd명령어로 일반계정사용자의 패스워드 락(lock)걸기

 

수퍼유저(root)passwd명령어의 -l 옵션을 사용하여 일반계정사용자의 암호에 lock을 걸어서 접속을 제한할 수 있습니다. 

 

 일반사용자의 패스워드에 lock을 거는 것은 일시적으로 접속을 제한해야하는 경우에 관리자에 의해 설정되는 것입니다. 

 

 

 

아래의 예는 bible이라는 계정사용자의 패스워드에 lock을 걸어둔 것입니다. 

 

 

cb7659c654fd99a396bca435184bb9c9_1649661154_8514.png
 

 

이렇게 lock을 걸어두게 되면 bible이라는 사용자는 접속이 불가능하게 됩니다. 

 



이 설정은 호스팅서버에서 일시적으로 계정접속을 제한할 경우에 유용하게 사용할 수 있습니다. 

 

  , 호스팅서버 사용자의 요금미납등으로 인하여 서버사용을 일시적으로 못하도록 해야하는 경우에 패스워드 lock을 걸어 둡니다. 

 

 그리고 요금미납 사용자가 요금을 입금하였을 경우에는 다시 패스워드 lock을 풀어줌으로써 원래 사용하던 패스워드를 그대로 사용하여 서버접속을 할 수 있도록 합니다. 

 

 패스워드 lock을 풀어주는 방법은 바로 다음 예에서 설명합니다. 

 

 

 

 

패스워드 락(lock)걸린 사용자의 패스워드 락(lock) 해제하기

 

앞의 예에서는 특정 계정사용자의 패스워드에 lock을 걸어 접속을 제한하는 방법에 대해서 알아 보았습니다. 

 

  이번에는 패스워드에 걸려있는 lock을 풀어주는 방법에 대한 설명입니다. 

 

 , 패스워드 lock 풀어주려면 passwd명령어에 -u 옵션을 사용하여 해제할 수 있습니다. 

 

 

 

아래의 예는 앞의 예에서 패스워드 lock을 걸었던 bible사용자에 대하여 lock을 해제하는 예입니다. 

 

 

cb7659c654fd99a396bca435184bb9c9_1649661168_5353.png
 

 

위와 같이 패스워드 lock이 풀리게 되면  bible사용자는 이전에 사용했던 패스워드를 그대로 사용하여 서버에 접속이 가능해 집니다. 

 

 

 

 

계정사용자의 패스워드 삭제하기

 

수퍼유저(root)는 일반계정사용자의 패스워드를 삭제할 수 있습니다. 

 

 계정사용자의 패스워드를 삭제하게 되면 아무 패스워드나 사용하여 로그인할 수 있습니다. 

 

 따라서 특별한 경우가 아니면 패스워드삭제는 하지않는 것이 좋습니다. 

 

 여기서 설명드리는 목적은 패스워드를 삭제하는 방법을 설명하고자 하는 것이므로 이점 유의하시기 바랍니다. 

 

 

 

계정사용자의 패스워드를 삭제하시려면 passwd명령어 사용시에 -d옵션을 사용하시면 됩니다. 

 

 아래의 예는 dorious라는 계정사용자의 패스워드를 삭제한 것입니다. 

 

 물론 이 명령어는 root만이 가능합니다. 

 

 

cb7659c654fd99a396bca435184bb9c9_1649661184_6345.png
 

 

패스워드가 삭제되었다는 것을 확인하기 위하여 /etc/shadow파일 내에 있는 dorious계정의 설정을 살펴본 것입니다. 

 

 

cb7659c654fd99a396bca435184bb9c9_1649661196_9618.png
 

 

이렇게 패스워드가 삭제되고 나면 어떤 패스워드를 사용하여도 로그인이 가능합니다. 

 

 , 패스워드가 없다라는 의미는 모든 문자를 패스워드로 사용할 수 있다라는 것과 같은 의미입니다. 

 

  따라서 특별한 경우가 아니라면 절대로 패스워드를 삭제하고 방치하는 경우는 없어야 합니다. 

 

 

 

 

패스워드 락설정 및 락해제하기

 

서버, 특히 호스팅서버를 관리하다보면 요금을 미납하여 부득이하게 계정을 일시중지해야하는 경우가 가끔 있습니다. 

 

 호스팅서버를 관리하시는 분들이라면 아마도 한번쯤은 경험해 보셨으리라 생각합니다. 

 

 이번 절에서는 이런 경우에 어떻게 처리해야하는가에 대한 실무방법들을 하나씩 설명해 보고자 합니다. 

 

 

호스팅가입자가 요금을 미납하였다고 하여 바로 계정을 삭제해버리지는 않을 것입니다. 

 

 하지만 서버로그인은 못하도록 설정하면서도 홈페이지는 정상적으로 잘 돌아가도록 해야할 것입니다. 

 

 그리고 미납된 요금을 다시 결재하였을 때에는 예전에 사용하였던 패스워드를 그대로 사용하여 다시 로그인 할 수 있도록 해주셔야 합니다. 

 

  이러한 작업을 하시려면 다음과 같이 하면 됩니다. 

 

 

먼저, passwd명령어로 해당 사용자의 패스워드에 락(lock)을 걸어 둡니다. 

 

 다음 예를 보시기 바랍니다. 

 

 cb7659c654fd99a396bca435184bb9c9_1649661209_7543.png

 

위의 예를 보시면 “passwd -l bible”이라는 명령어를 사용하여 bible사용자의 패스워드에 락(lock)을 걸었습니다. 

 

 그리고 /etc/shadow파일의 bible사용자의 패스워드문자를 보시면 기존에 있었던 패스워드암호문자맨 앞에 “!!”문자가 추가되어 있다는 것을 확인할 수 있습니다. 

 

 이렇게 락을 걸어두시면 어떠한 패스워드도 인증되지 않기 때문에 bible사용자는 서버로 로그인 할 수 없습니다. 

 

 물론 telnet뿐아니라 ftp또한 접속할 수 없습니다. 

 

 telnet뿐아니라 ftp /etc/shadow에 있는 패스워도 인증을 받아야만 정상적인 접속이 가능하기 때문입니다. 

 

 

이렇게 패스워드에 락을 걸어두시면 서버접속외에 모든 것은 정상적으로 작동합니다. 

 

 , bible사용자의 홈페이지와 MYSQL데이터베이스등 모든 것이 정상이지만 단지 서버접속만 할 수 없을 뿐입니다. 

 

 

이렇게 락을 걸어 둔 다음 bible사용자가 미납된 요금을 결재하였을 경우에 다시 원상태로 되돌리려면 다음과 같이 하시면 됩니다. 

 


 cb7659c654fd99a396bca435184bb9c9_1649661222_9322.png

 

 

, 위의 예는 “passwd -u bible”을 실행하여 락이 걸려있었던 bible사용자의 패스워드를 다시 락해제하여 원상태로 되돌린 것입니다. 

 

 그리고 /etc/shadow파일의 bible사용자의 암호화된 패스워드 앞부분을 보시면 “!!”문자가 삭제되었다는 것을 알 수 있습니다. 

 

 결론적으로 bible사용자는 다시 원래 사용했던 패스워드를 그대로 사용할 수 있게 되었습니다. 

 

 

간단한 방법이지만 매우 효과적인 불량가입자 처리방법입니다. 

 

 물론 만약 오랫동안 락처리를 해두었음에도 불구하고 계속해서 결재처리가 되지 않는다면 다음 조치로  아파치의 httpd.conf에 설정되어 있던 bible사용자의 가상호스트 설정을 주석처리하여 홈페이지까지 뜨지 않도록 하시면 됩니다. 

 

 웬만큼 독하신 분이 아니라면 이쯤되면 결재를 할 것입니다. 

 

 홈페이지까지 중지하였음에도 결재처리를 하지 않는다는 의미는 더 이상 서버를 사용할 의사가 없다는 것으로 볼 수 있으므로 userdel명령어로 해당 가입자의 데이터를 모두 삭제처리 할 수도 있을 것입니다. 

 

 물론 만약을 위해서 가능한 백업은 받아 두셔야겠지요.

 

 

 


관련자료

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

공지사항


뉴스광장


  • 전체 회원수 59,444 명
  • 전체 게시물 30,916 개
  • 전체 댓글수 11,873 개