강좌
클라우드/리눅스에 관한 강좌입니다.
해킹&보안 분류

리눅스시스템의 shadow 패스워드정책으로 변경하는 pwconv와 pwunconv 실무사용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스시스템의 shadow패스워드정책으로 변경하는 pwconv 사용법

 

 

 

pwconv는 리눅스 시스템에 패스워드정책을 shadow 패스워드방식으로 적용하는 명령어입니다.

 

 

 

 여기서 중요한 것은 pwconv로 인하여 shadow 패스워드정책이 적용되었을 때에 패스워드가 어디에 저장이 되며  시스템에는 어떤 변화들이 있는가를 이해하는 것이 가장 중요한 내용입니다.

 

 

 

 , 이 명령어가 수행되면 /etc/passwd 파일의 두번째 필드에 있는 암호화된 패스워드를 모두 x로 표시하고 /etc/shadow의 두번째 필드에 암호화된 패스워드를 저장하게 됩니다.

 

 

 

 

 

그리고 /etc/passwd파일을 일반사용자들이 그 내용을 볼 수 있었던 것과는 달리 /etc/shadow파일은 root만이 읽을 수 있도록 400이라는 퍼미션을 가집니다.

 

 

 

 

 

그리고 패스워드 사용문자 수, 사용기간설정 등을 할 수 있는 여러 가지 shadow패스워드정책을 적용할 수 있습니다.

 

 

 

 

 

하지만 현재의 리눅스 서버들은 대부분 shadow패스워드 정책을 이미 적용하고 있으므로 pwconv는 현재의 리눅스 버전에서는 거의 필요하지 않는 명령어라고 할 수 있습니다.

 

 

 

 그렇지만 시스템관리자가 이 명령어를 알고 있는 것과 모르고 있는 것과는 차이가 있으므로 한번쯤 봐 두는 것도 나쁘지는 않을 것입니다.

 

 

 

  

 

그리고 pwconv명령어와는 반대로 패스워드정책을 shadow패스워드정책에서 일반 패스워드정책으로 변경하는 pwunconv도 함께 알아두시기 바랍니다.

 

 

 

 , pwconv pwunconv는 서로 상반되는 명령어입니다.

 

 

 

 또한 pwconv, pwunconv, grpconv, grpunconv 명령어는 모두 함께 공부하는 것이 실무적용에 큰 도움이 됩니다.

 

 

 

 

 

명령어위치 : /usr/sbin/pwconv

 

사용형식   :  pwconv

 

설명의 편의를 위하여 현재의 패스워드정책을 shadow패스워드정책이 아닌 일반패스워드정책인 것으로 간주합니다.

 

 

 

 
 
다음은 /etc/passwd 파일의 내용 중 계정사용자의 내용만을 나타낸 것입니다.

 

 

 

 

 

[root@host3 root]# cat /etc/passwd | grep bible
bible:$1$QjZIa/cV$mZDco5PvYCAJ0P6dEYyLB0:500:500::/home/bible:/bin/bash
bible1:$1$BPf2iNv0$H21GcR.TH.S/l8ucmmqha.:502:502::/home/bible1:/bin/bash
bible2:$1$F3VdlZra$P3r6y5pT3rJaU81EP1ZNt/:503:503::/home/bible2:/bin/bash
bible3:$1$fhJpZ/5O$/.wl6.Vdrjc8VKtOdbYVF0:504:504::/home/bible3:/bin/bash
[root@host3 root]#

 

 

 

 

다음은 /etc/shadow파일의 내용 중에서 계정사용자의 내용만을 보려고 한 것이지만 아래 결과와 같이 일반 패스워드정책에서는 /etc/shadow파일자체가 존재하지 않습니다.

 

 

 

 

 

[root@host3 root]# cat /etc/shadow | grep bible
cat: /etc/shadow:
그런 파일이나 디렉토리가 없음
[root@host3 root]#



 

 

다음은 일반 패스워드정책을 shadow패스워드정책으로 변경하기 위하여 "pwconv"명령을 실행하였습니다.

 

 

 

 

 

[root@host3 root]# pwconv

 

 

 

 

그리고 다음과 같이 /etc/passwd, /etc/shadow의 존재여부와 퍼미션을 각각 확인하였습니다.

 

 

 

 

 

[root@host3 root]# ls -l /etc/passwd
-rw-r--r--    1 root     root         1856  9
18 21:38 /etc/passwd
[root@host3 root]#
[root@host3 root]# ls -l /etc/shadow
-r--------    1 root     root         1295  9
18 21:38 /etc/shadow
[root@host3 root]#

 

 

 

 

앞에서는 존재하지 않았던 /etc/shadow파일이 생성이 되었으며 퍼미션을 확인한 결과 root만이 읽을 수 있는 “-r--------”(400) 퍼미션이 설정되어 있습니다.

 

 

 

  


그리고 shadow패스워드정책으로 변경한 뒤에 다음과 같이 /etc/passwd파일의 내용과 /etc/shadow의 내용을 확인한 것입니다.

 

 

 

 

 

[root@host3 root]# cat /etc/passwd | grep bible
bible:x:500:500::/home/bible:/bin/bash
bible1:x:502:502::/home/bible1:/bin/bash
bible2:x:503:503::/home/bible2:/bin/bash
bible3:x:504:504::/home/bible3:/bin/bash
[root@host3 root]#      

[root@host3 root]# cat /etc/shadow | grep bible
bible:$1$QjZIa/cV$mZDco5PvYCAJ0P6dEYyLB0:12313:0:99999:7:::
bible1:$1$BPf2iNv0$H21GcR.TH.S/l8ucmmqha.:12313:0:99999:7:::
bible2:$1$F3VdlZra$P3r6y5pT3rJaU81EP1ZNt/:12313:0:99999:7:::
bible3:$1$fhJpZ/5O$/.wl6.Vdrjc8VKtOdbYVF0:12313:0:99999:7:::
[root@host3 root]#



 

 

위에서 확인할 수 있는 것은 /etc/passwd파일의 두번째 필드에 있던 암호화된 패스워드가 모두 x로 표시되었으며 /etc/shadow파일의 두번째 필드에 암호화된 문자들이 저장된 것을 알 수 있습니다.

 

 

 

 


그리고 /etc/shadow파일의 각 행에는 패스워드의 aging정보들이 저장되어 있어 일반 패스워드정책보다는 shadow패스워드정책이 보안을 위해 훨씬 유리함을 알수가 있습니다.

 

 

 

 

 

이상과 같이 pwconv에 대한 설명을 보셨다면 바로 이어서 pwunconv를 보시기 바랍니다.

 

 

 

 

리눅스 패스워드정책을 일반 패스워드정책으로 되돌리는 pwunconv

 

 

 

pwunconvpwconv라는 명령어와는 반대명령어로써 리눅스시스템의 패스워드정책을 shadow패스워드정책에서 일반 패스워드정책으로 변환하는 명령어입니다.

 

 

 

 여기서 중요한 것은 pwunconv로 인하여 일반 패스워드정책이 적용되었을 때에 패스워드가 어디에 저장이 되며  시스템에는 어떤 변화들이 있는가를 아는 것이 이번 장의 목적입니다.

 

 

 

 그리고 이 명령어는 반드시 pwconv명령어와 반드시 함께 공부하셔야 합니다.

 

 

 

  

 

명령어위치 : /usr/sbin/pwunconv

 

사용형식   :  pwunconv

 

 

 

현재 패스워드정책은 shadow패스워드정책이며 다음은 이를 확인한 것입니다.

 

 

 

 

 

[root@host3 root]# ls -l /etc/passwd
-rw-r--r--    1 root     root         1856  9
18 21:59 /etc/passwd
[root@host3 root]#
[root@host3 root]# ls -l /etc/shadow
-r--------    1 root     root         1295  9
18 21:59 /etc/shadow
[root@host3 root]#

 

 

 

 

위의 두가지 명령어는 현재 shadow패스워드정책이 적용되고 있는 리눅스서버에서 /etc/passwd파일과 /etc/shadow파일의 존재여부와 퍼미션을 각각 확인한 것입니다.

 

 

 

 

 

[root@host3 root]# cat /etc/passwd | grep bible
bible:x:500:500::/home/bible:/bin/bash
bible1:x:502:502::/home/bible1:/bin/bash
bible2:x:503:503::/home/bible2:/bin/bash
bible3:x:504:504::/home/bible3:/bin/bash
[root@host3 root]#
[root@host3 root]# cat /etc/shadow | grep bible
bible:$1$QjZIa/cV$mZDco5PvYCAJ0P6dEYyLB0:12313:0:99999:7:::
bible1:$1$BPf2iNv0$H21GcR.TH.S/l8ucmmqha.:12313:0:99999:7:::
bible2:$1$F3VdlZra$P3r6y5pT3rJaU81EP1ZNt/:12313:0:99999:7:::
bible3:$1$fhJpZ/5O$/.wl6.Vdrjc8VKtOdbYVF0:12313:0:99999:7:::
[root@host3 root]#

 

 

 

 

, shadow패스워드 정책이 적용되고 있을 때에는 위에서 보시는 바와 같이 /etc/passwd파일의 두번째 필드의 패스워드자리에는 암호화된 패스워드 대신에 x라는 문자가 표시되어 있습니다.

 

 

 

 


그리고 /etc/shadow파일의 두번째 자리에는 암호화된 패스워드 문자들이 저장되어 있습니다.

 

 

 

 

 

이들 내용들은 pwconv에 설명되어 있는 내용과 반드시 비교하면서 보기 바랍니다.

 

 

 

 

 

이런 상황일 때에 다음과 같이 pwunconv라는 명령어를 이용하여 패스워드정책을 shadow패스워드정책에서 일반정책으로 변환하였습니다.

 

 

 

 

 

[root@host3 root]# pwunconv
[root@host3 root]#

 

 

 

 

그런 다음 /etc/passwd파일과 /etc/shadow파일의 존재여부와 퍼미션을 확인한 것입니다.

 

 

 

 

 

[root@host3 root]# ls -l /etc/passwd          
-rw-r--r--    1 root     root         2042  9
18 21:54 /etc/passwd
[root@host3 root]#
[root@host3 root]# ls -l /etc/shadow
ls: /etc/shadow:
그런 파일이나 디렉토리가 없음
[root@host3 root]#

 

 

 

 

위의 결과에서 확인한 바와 같이 일반 패스워드정책에서는 /etc/shadow파일이 존재하지 않습니다.

 

 

 

 

 

그리고 앞에서 보신 바와 같이 /etc/passwd파일의 각행의 두번째 필드에 x로 표시되었던 자리에는 암호화된 패스워드들이 자리하고 있습니다.

 

 

 

 

 

[root@host3 root]# cat /etc/passwd | grep bible
bible:$1$QjZIa/cV$mZDco5PvYCAJ0P6dEYyLB0:500:500::/home/bible:/bin/bash
bible1:$1$BPf2iNv0$H21GcR.TH.S/l8ucmmqha.:502:502::/home/bible1:/bin/bash
bible2:$1$F3VdlZra$P3r6y5pT3rJaU81EP1ZNt/:503:503::/home/bible2:/bin/bash
bible3:$1$fhJpZ/5O$/.wl6.Vdrjc8VKtOdbYVF0:504:504::/home/bible3:/bin/bash
[root@host3 root]#

 

 

 

 

그리고 아래와 같이 /etc/shadow파일은 존재하지 않습니다.

 

 

 

 

[root@host3 root]# cat /etc/shadow | grep bible
cat: /etc/shadow:
그런 파일이나 디렉토리가 없음
[root@host3 root]#



 

 

간단히 다시 정리하자면 pwunconv명령어는 pwconv명령어와 반대되는 명령어로써  shadow패스워드정책의 패스워드시스템에서 일반정책으로 변환하는 명령어입니다.

 

 

 

 

 

실무적인 관점에서 한마디만 더 하자면, 요즘 거의 모든 리눅스, 유닉스 시스템에서는 서버보안을 위하여 shadow패스워드정책이 필수적으로 사용되고 있습니다.

 

 

 

 하지만 만약 그렇지 않다면 일반 패스워드보다는 shadow패스워드가 서버보안을 위해서 뛰어나므로 반드시 shadow패스워드정책을 사용하기 바랍니다.

 

 

 

이 웹사이트(www.linux.co.kr) 이어지는 강좌   grpconv편과 grpunconv편을 보시면 더 큰 도움이 됩니다.



아래는 위에서 설명한 내용들을 LockyLinux에서 사용한 예입니다. 

비교해서 보시기 바랍니다. 


 

[root@RockyLinux01 ~]# cat /etc/passwd | grep sspark

sspark:x:1000:1000:sspark:/home/sspark:/bin/bash

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# cat /etc/shadow | grep sspark

sspark:$6$/2qQcD4fW4J/tS1q$lcKfsPup3M.GpVn4wJhv/37g63FV5hYr4fidrDVNcnaifZ2ARcy7UrDxzOMS5bwPLm957AFDZj1VRKuai4hhA/::0:99999:7:::

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# pwconv

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# cat /etc/passwd | grep sspark

sspark:x:1000:1000:sspark:/home/sspark:/bin/bash

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# cat /etc/shadow | grep sspark

sspark:$6$/2qQcD4fW4J/tS1q$lcKfsPup3M.GpVn4wJhv/37g63FV5hYr4fidrDVNcnaifZ2ARcy7UrDxzOMS5bwPLm957AFDZj1VRKuai4hhA/::0:99999:7:::

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# pwunconv

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# cat /etc/passwd | grep sspark

sspark:$6$/2qQcD4fW4J/tS1q$lcKfsPup3M.GpVn4wJhv/37g63FV5hYr4fidrDVNcnaifZ2ARcy7UrDxzOMS5bwPLm957AFDZj1VRKuai4hhA/:1000:1000:sspark:/home/sspark:/bin/bash

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# cat /etc/shadow | grep sspark

cat: /etc/shadow: 그런 파일이나 디렉터리가 없습니다

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# pwconv

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]#

[root@RockyLinux01 ~]# cat /etc/passwd | grep sspark

sspark:x:1000:1000:sspark:/home/sspark:/bin/bash

[root@RockyLinux01 ~]# cat /etc/shadow | grep sspark

sspark:$6$/2qQcD4fW4J/tS1q$lcKfsPup3M.GpVn4wJhv/37g63FV5hYr4fidrDVNcnaifZ2ARcy7UrDxzOMS5bwPLm957AFDZj1VRKuai4hhA/:19508:0:99999:7:::

[root@RockyLinux01 ~]#

 

 


 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,787 개
  • 현재 접속자 :  292 명