InfraPlatform

Centos 6&7 패스워드 잃어버렸을때 (Single Mode for password reset)

IT오이시이 2017. 11. 20. 18:52
728x90

Centos 6&7 Single Mode for password reset

- 리눅스 root  Password  Reset을 위해서  필요한 Single Mode


리눅스 root 패스워드를 수정 하기 위해서는 방법을 2가지로 구분 할 수 있다.

하나는 설치 디스크로 Rescue Mode로 부팅하는 것이고, 다른 하나는 Single (윈도우 안전모드) 로 부팅을 하는 것이다.


1) 아래와 같이 설치 디스크로 부팅시 Rescue Mode로 부팅 할 수 있다.

[Rescue a CentOS 6 Linux system]


[Troubleshooting a CentOS 7 Linux system]

troubleshooting option boot RHEL CentOS 7 into rescue mode

find linux installation for rescue mode RHEL 7 reinstall GRUB2

system has been mounted under :mnt:sysimage RHEL 7 reinstall GRUB2


설치 디스크에서 Rescue Mode로 부팅을 하게 되면 기존의 사용하는 시스템을 ro (readonly) Mode로 마운트 하게 된다.

다음 예와 같이 ro mode로 마운트 된 것을 rw모드로 마운트 하면 된다. 그리고 chroot로 루트 파티션을 변경하여 

password 명령으로 패스워드를 수정 할 수 있다.

  예 )  

        #> chroot  /mnt/sysimage

        #> password 

      종종 디스크가 마운트 될 때 readonly로 mount 되는 경우가 있다.
      이럴때 유용한 명령이  remount 옵션을 활용해서 read + write 모드로  mount  하는 것이다.

      우선 df 명령으로 어떤 파일 시스템이 마운트 되어 있는지 보고 mount를 수행하면 된다.

        #> df -h

        #> mount -o rw,remount  /mnt/sysimage/root/

2) GRUB에서 Single Mode로 진입하기

두번째 방법은 Bootloader를 수정하여 single 모드로 진입하는 경우 이다.

2.1) Centos 6 - grub

  1. 부팅시 "TAB" 키를 누르면 부팅되는 커널 목록이 나온다.
  2. 부팅 하고자 하는 목록을 선택하고 "e" edit 모드로 진입을 하여 수정을 하게 된다.

  3. 부팅 옵션을 아래와 같이 수정한다.

        initrd /initramfs-2.6.4.2.123.el6.x86_64.img  라인을 아래와 같이 수정한다.
    -> initrd /initramfs-2.6.4.2.123.el6.x86_64.img   single selinux=0
  
    (수정할 위치는 방향키로 이동을 하면서 아래와 같이 수정할 위치를 찾아서 수정한다.)
   
  4. "b" reboot 를 하면 된다.

  5. "passwd"  명령으로 패스워드를 수정 후 재부팅을 하면 됩니다.

2.2) Centos 7 - grub2

  1. 부팅시 "TAB" 키를 누르면 부팅되는 커널 목록이 나온다.
  2. 부팅 하고자 하는 목록을 선택하고 "e" edit 모드로 진입을 하여 수정을 하게 된다.

  3. 부팅 옵션을 아래와 같이 수정한다.

        ro     부부은  rw 로 수정하고
          grub  부분은  init=/bin/bash  로 수정을 한다.
  
    (수정할 위치는 방향키로 이동을 하면서 아래와 같이 수정할 위치를 찾아서 수정한다.)
     
  4.  "Ctrl-x" reboot 를 하면 된다.


  5. 싱글 모드로 진입 후

     vi /etc/passwd  
      1)  root:xxxxxxxxxxxxxxxxxxxxxxxx:1798:99999:7:::
       
      -> root::1798:99999:7:::
       와 같이  ":" ~ ":"  사이의 값을 지우고 재부팅을 하면 패스워드 없이 로그인이된다.

     /etc/shadow 파일은 각 계정의 패스워드가 저장된 파일입니다.
     임의대로 수정하면 안되고 passwd  명령으로 수정을 해야 하는데 작동이 안되어
     강제로 패스워드를 삭제 하는 방법을 썼습니다.
     
  6. 수정 후 재부팅을 합니다.
     다시 아래와 같이 패스워드를 입력 하면 된다.
     :/# passwd
     Changing password for user root.
     New password: 패스워드입력
 
   [ passwd  명령 사용법 : 계정의 패스워드를 수정하는 명령]
   *  passwd    [Entetr] 로  root 의 패스워드를 수정하고 
   *  passwd 계정이름  [Enter]을 해서 원하는 계정의 패스워드를 수정할 수 있다.





728x90
반응형