Linux에서 잊어버린 비밀번호를 재설정하는 방법
리눅스 PC 사용자 계정의 암호를 잊어버리는 상황은 매우 난감할 수 있습니다. 계정에 접근하지 못하게 되어 모든 것을 사용할 수 없게 되기 때문입니다. 하지만 너무 걱정하지 마세요! 시스템을 처음부터 다시 설치해야 할 필요는 없습니다. 리눅스에서는 잊어버린 암호를 재설정하고 사용자 이름으로 변경하는 방법이 있습니다.
루트 비밀번호를 이용한 방법

리눅스 시스템에서 잊어버린 사용자 계정을 복구하는 한 가지 방법은 루트 계정을 활용하는 것입니다. 루트는 시스템의 모든 권한을 가지므로, 리눅스에서 잊어버린 암호를 강제로 변경할 수 있습니다. 루트를 사용한 암호 재설정은 추가 소프트웨어나 라이브 디스크 없이도 가능합니다.
암호 재설정을 시작하려면 평소처럼 리눅스 시스템을 부팅하여 로그인 화면으로 이동합니다. 여기서 로그인은 하지 마시고, 대신 Ctrl + Alt + F2 키를 눌러 TTY 창을 엽니다. 이 TTY 창은 로그인 없이 사용자가 접근할 수 있는 비상 쉘입니다.
TTY 창이 열리면 사용자 이름을 입력하라는 메시지가 나타납니다. 사용자 슬롯에 "root"를 입력하고 루트 암호를 입력합니다.
주의: Ubuntu, Linux Mint 또는 su 및 루트 계정이 비활성화된 다른 리눅스 배포판을 사용하는 경우 이 방법은 작동하지 않습니다. 이 경우에는 chroot 방법을 사용해야 합니다.
루트 암호가 올바르게 입력되면 TTY 창에서 시스템의 모든 권한을 가진 수퍼유저로 로그인됩니다. 이때 사용자 암호를 재설정할 수 있습니다.
passwd 사용자이름
passwd 명령을 실행하면 "새 UNIX 암호"를 입력하라는 메시지가 표시됩니다. 새 암호를 입력하고, 이번에는 꼭 기억하세요!
사용자 암호가 재설정되었으므로, 이제 사용자 계정을 다시 사용할 수 있습니다.
reboot 명령을 사용하여 PC를 재시작하고 로그인 화면으로 돌아갑니다.
재시작 후에는 정상적으로 로그인할 수 있습니다.
Chroot를 이용한 방법
일부 리눅스 배포판에서는 루트를 이용한 암호 재설정 방법이 작동하지 않을 수 있습니다. 이는 일부 시스템에서 su 로그인을 비활성화하고, 대신 sudo 권한을 사용하기 때문입니다. 이러한 접근 방식은 보안에는 유리하지만, 암호를 잊어버린 경우에는 다소 복잡해집니다.
이러한 상황에서 리눅스 암호를 재설정하기 위해서는 몇 가지 추가 단계가 필요합니다. 먼저 최신 버전의 Ubuntu를 다운로드하여 라이브 디스크를 만들어야 합니다.
Ubuntu 다운로드 후, 에칭 도구를 사용하여 Ubuntu 라이브 디스크를 만듭니다. 라이브 디스크가 준비되면 USB 드라이브를 연결하고 PC를 다시 시작하여 해당 디스크로 부팅합니다.
Ubuntu가 로드되면 "Try Ubuntu"를 선택합니다.
Chroot 설정 과정
암호를 재설정하기 전에 Chroot를 설정해야 합니다. Chroot를 사용하면 Ubuntu가 루트 권한으로 하드 드라이브에 설치된 리눅스 운영 체제와 직접 상호작용할 수 있습니다.
터미널을 열고 /mnt 디렉토리에 새 폴더를 생성합니다. 이 폴더에는 사용 중인 OS의 이름을 지정해야 합니다. 이 예에서는 OpenSUSE LEAP를 사용합니다.

sudo -s
mkdir -p /mnt/opensuse-leap/
다음으로,
lsblk 명령을 실행하여 드라이브 레이블이 무엇인지 확인합니다. 이 예에서는 하드 드라이브가 /dev/sda이고 마운트해야 하는 OpenSUSE LEAP 파티션은 /dev/sda1입니다. 여러분의 환경에서는 다를 수 있습니다.
리눅스 설치 파티션을 /mnt에 생성한 새 폴더에 마운트합니다. "opensuse-leap" 부분을 /mnt에 생성한 OS 폴더 이름으로 변경해야 합니다.
mount /dev/sda1 /mnt/opensuse-leap/
시스템 파티션이 마운트되면, Ubuntu 라이브 시스템의 서비스를 하드 드라이브의 리눅스 운영 체제에 연결합니다.
mount -t proc proc /mnt/opensuse-leap/proc
mount -t sysfs sys /mnt/opensuse-leap/sys
mount -o bind /dev /mnt/opensuse-leap/dev
cp -L /etc/resolv.conf /mnt/opensuse-leap/etc/resolv.conf
이제 Chroot를 설정하여 접근할 차례입니다. 터미널에서 다음 명령을 사용하여 Ubuntu 라이브 디스크를 통해 운영 체제를 마운트합니다.
chroot /mnt/opensuse-leap /bin/bash
Neofetch 또는 Screenfetch를 실행하여 시스템 정보를 표시하여 실제로 Chroot 환경에 있는지 확인합니다.

마지막으로, 다음 명령을 사용하여 사용자 암호를 재설정합니다.
passwd 사용자이름
완료되면
exit 명령을 여러 번 입력하여 Chroot 세션을 종료합니다. 그런 다음, umount 명령을 사용하여 라이브 디스크에서 시스템 파티션을 마운트 해제합니다.
sudo umount /dev/sda1
위의 명령은 모든 것을 마운트 해제해야 합니다. 만약 제대로 해제되지 않는다면, "강제" 옵션을 사용하는 것이 좋습니다.
sudo umount /dev/sda1 -l
이제 시스템 드라이브가 올바르게 마운트 해제되었으므로, 라이브 디스크를 종료해도 안전합니다. Ubuntu 라이브 디스크 화면 오른쪽 상단의 메뉴를 클릭하고 "재부팅"을 선택합니다.
Ubuntu USB 스틱을 제거하고 리눅스 PC를 다시 시작합니다. 재시작하면 암호가 재설정되어 있을 것입니다!