워크스테이션, 기업 서버, 심지어 집에서 사용하는 라즈베리 파이까지, Linux 시스템에서 비밀번호를 잃어버리면 심각한 문제가 될 수 있습니다. 다행히 Ubuntu, Debian, Fedora, Arch Linux, CentOS, Linux Mint, openSUSE, Manjaro, Raspberry Pi OS, Red Hat 등 다양한 배포판이 있는 Linux 생태계는 잊어버린 비밀번호를 복구하거나 재설정하는 여러 가지 강력한 방법을 제공합니다. 이러한 방법은 시스템 구성, 하드웨어 액세스 및 부팅 환경에 따라 다르지만, 데이터 무결성에 대한 위험을 최소화하면서 합법적인 사용자의 액세스를 안전하게 복원하는 공통된 목표를 가지고 있습니다. 이 실용적인 가이드는 이러한 필수 작업을 단계별로 안내하며, 기본 시스템 메커니즘을 설명하고, 명령을 보여주며, 보안을 손상시키지 않고 재설정을 효과적으로 관리하기 위한 실용적인 조언을 제공합니다. 라이브 USB를 사용하여 Linux 비밀번호를 재설정하는 전체 절차
사용자 또는 루트 비밀번호를 잃어버렸을 때 가장 안전하고 다양한 복구 방법 중 하나는 일반적으로 부팅 가능한 USB 드라이브에서 부팅되는 Linux 라이브 환경을 이용하는 것입니다. 이 기술은 Ubuntu, Debian, Fedora 또는 Arch Linux와 같은 대부분의 인기 배포판에 적용되며, 기존 설치를 수정하지 않고도 시스템 파일을 완벽하게 제어할 수 있습니다.
Linux Live USB 생성 및 부팅
먼저 Linux 이미지가 포함된 부팅 가능한 USB 드라이브가 필요합니다. Rufus 또는 Ventoy와 같은 도구를 사용할 수 있습니다.
이러한 생성을 용이하게 합니다. 예를 들어 Ventoy는 단일 드라이브에 여러 ISO 이미지를 저장하는 데 특히 유용하며, CentOS, openSUSE 또는 Linux Mint와 같은 배포판을 번갈아 사용하는 시스템 관리자에게 매우 유용합니다. USB 드라이브를 준비한 후에는 BIOS/UEFI에서 부팅 순서를 변경하거나 부팅 메뉴(제조업체에 따라 F8, F12 또는 Esc 키로 액세스 가능한 경우가 많음)를 사용하여 드라이브에서 부팅해야 합니다. 이 단계에서는 로컬 설치를 덮어쓰지 않고 임시 Linux 시스템을 사용할 수 있습니다. 시스템 파티션 식별 및 마운트 라이브 환경에서 터미널을 엽니다. lsblk 명령은 모든 저장 장치와 해당 파티션을 나열합니다. lsblk는 기본 드라이브(일반적으로 sda)와 루트 파티션(예: sda2)을 찾습니다. 표시된 크기와 레이블은 올바른 파티션을 식별하는 데 도움이 되므로 실수를 방지하는 데 필수적입니다. 파티션을 식별한 후에는 액세스 포인트에 마운트하여 액세스해야 합니다. 예: sudo mount /dev/sda2 /mnt
이 마운트는 현재 단계에서는 아무것도 덮어쓰거나 수정하지 않고 파티션에 설치된 전체 파일 시스템을 노출합니다. 실제 설치에서 작동하도록 시스템 루트 변경(chroot) chroot(루트 변경) 명령은 명령 컨텍스트를 마운트된 파티션으로 전환하는 기본적인 방법입니다.
sudo chroot /mnt
이렇게 하면 라이브 USB 드라이브에서 부팅했더라도 디스크에 저장된 시스템이 다시 실행됩니다. 비밀번호 재설정을 포함한 모든 변경 사항은 시스템에 직접 적용됩니다. 사용자 또는 루트 비밀번호 재설정 비밀번호를 변경하기 전에 사용자 계정 목록을 확인하는 것이 좋습니다.
- ls /home 이 명령은 사용자 디렉터리를 나열하고 현재 계정의 이름을 나타냅니다. 사용자 비밀번호를 변경하려면 다음 명령을 사용합니다.passwd user 예를 들어, 사용자 “alice”의 비밀번호를 재설정하려면 다음과 같이 입력합니다.passwd alice
- 시스템은 확인을 위해 새 비밀번호를 두 번 묻습니다. 이 터미널에서는 키보드가 기본적으로 QWERTY로 설정되어 있는 경우가 많으므로 입력하는 문자에 주의하십시오.
chroot 환경에서 루트 비밀번호를 변경하려면 다음 명령을 사용하는 것이 더 간단합니다.
passwd
이 명령은 슈퍼유저 비밀번호를 직접 수정합니다. 비밀번호를 분실했을 때 전체 권한을 되찾으려면 이 단계가 필수적입니다.
시스템 완료 및 재부팅
변경 사항을 적용한 후 chroot 환경을 종료하고 컴퓨터를 다시 시작합니다. exit chroot를 종료합니다.sudo reboot재부팅합니다.
USB 드라이브를 제거하거나 부팅 순서를 재구성하여 디스크에서 자연스럽게 부팅되도록 합니다. GRUB를 사용하여 Linux에서 잊어버린 비밀번호 재설정하기
GRUB(Grand Unified Bootloader) 부트로더는 시스템에 설치된 다양한 버전의 Linux에 접근하는 데 중요한 단계이며, USB 드라이브 없이도 비밀번호를 재설정하는 직관적인 방법을 제공합니다. 이 방법은 Ubuntu, Fedora, openSUSE, Arch Linux와 같은 널리 사용되는 배포판에 적합합니다.
GRUB 부팅 옵션 접근 및 수정
시스템이 부팅되면 SHIFT 또는 Esc 키를 눌러 GRUB 메뉴를 표시합니다. 일부 배포판은 기본적으로 이 메뉴를 숨기므로, 메뉴를 강제로 표시하는 방법을 아는 것이 중요합니다.
메뉴에서 Linux 설치(예: “Ubuntu”)에 해당하는 항목으로 이동한 다음 e 키를 눌러 부팅 옵션을 편집합니다.
“linux”로 시작하는 줄을 포함하여 여러 줄이 표시된 편집기가 나타납니다.
루트 모드로 부팅하도록 설정을 수정하세요.
이 줄에서 다음을 수행해야 합니다.
읽기 전용 마운트 지시어 및 자동 그래픽 모드에 해당하는
ro quiet splash $vt_handoff 옵션을 제거합니다.
이 옵션을
rw init=/bin/bash
로 바꿉니다. 이렇게 수정하면 시스템이 해당 파티션을 읽기-쓰기(rw)로 마운트하고 초기 프로세스로 bash 셸을 직접 실행합니다.
그런 다음
CTRL + X
또는
- F10 을 눌러 수정된 설정으로 부팅합니다. 잠시 후 루트 프롬프트가 나타납니다.
- root@(none):~# .
루트 셸에서 비밀번호 재설정
이 시스템은 최소한의 구성으로 루트 액세스에 비밀번호가 필요하지 않으므로 복구가 더 쉽습니다.
passwd user
또는
passwd 를 입력하여 루트 비밀번호를 변경합니다. 필요한 경우 시스템 파티션을 읽기-쓰기로 마운트해야 합니다. mount -o remount,rw / 비밀번호를 변경한 후 다음 명령어를 사용하여 시스템을 정상적으로 재부팅합니다. exec /sbin/init
시스템이 정상적으로 부팅되고 새 비밀번호로 로그인할 수 있습니다. 복구 모드를 사용하여 비밀번호 변경 루트 비밀번호를 알고 있는 경우 GRUB 메뉴를 통해 액세스할 수 있는 복구 모드를 사용할 수도 있습니다.
Ubuntu의 경우 고급 옵션
또는 배포판에서 동일한 옵션을 선택합니다.
- 복구 모드를 선택합니다.
- “루트 셸 프롬프트”를 사용하여 루트 명령줄에 액세스합니다. passwd를 사용하여 평소처럼 비밀번호를 변경합니다.
이 방법은 USB 드라이브가 없는 유지 관리 작업에 자주 사용됩니다. https://www.youtube.com/watch?v=OTuA_TQ-eHk 비밀번호 재설정 후 GNOME 키체인 오류 해결 Ubuntu, Fedora 또는 Linux Mint와 같은 배포판에서 비밀번호를 재설정한 후 로그인 시 오류 메시지가 나타나는 것은 드문 일이 아닙니다. “암호가 디렉토리의 암호와 일치하지 않습니다.” 이 메시지는 사용자 계정 암호와 Wi-Fi, SSH, VPN 및 기타 기밀 데이터를 저장하는 도구인 GNOME 키체인 잠금 해제에 사용된 암호가 일치하지 않음을 나타냅니다.Seahorse를 사용하여 GNOME 키체인 관리하기
이 문제를 해결하려면 키체인을 동기화하거나 재설정해야 합니다. Seahorse 그래픽 도구를 사용하면 저장된 암호를 쉽게 관리할 수 있습니다.
메뉴에서 Seahorse를 실행하거나 터미널에서 seahorse 명령을 실행하세요.
“로그인” 섹션에서 해당 키체인을 마우스 오른쪽 버튼으로 클릭하고 “삭제”를 선택하세요.
삭제를 확인하세요. 이렇게 하면 저장된 모든 암호(Wi-Fi, SSH 등)가 삭제됩니다.
다음에 로그인할 때 키체인이 자동으로 다시 생성되도록 하려면 로그아웃하거나 재부팅하세요. 데이터 손실을 방지하려면 가능하면 이 작업 전에 암호를 백업하는 것이 좋습니다. 새 키체인을 수동으로 생성하세요.
삭제 후 키체인이 자동으로 다시 생성되지 않으면 Seahorse를 통해 수동으로 생성할 수 있습니다.
비밀번호 추가
다음
새 키체인
을 선택하세요.
이 키체인의 이름을 지정하고 새 비밀번호를 설정하세요. 향후 오류를 방지하려면 사용자 계정 비밀번호와 동일하게 설정하는 것이 좋습니다.
- 그런 다음 세션을 다시 시작하세요. 이 단계를 수행하면 비밀번호 복구 후 원활한 사용자 환경을 유지할 수 있습니다. https://www.youtube.com/watch?v=sUp5ZKtXo1M
- 리셋 후 Linux 시스템 보안을 위한 모범 사례 및 권장 사항 Linux에서 비밀번호 재설정은 생명의 은인이지만, 특히 Red Hat, CentOS, Debian과 같은 기업에서 사용하는 배포판의 경우 효과적인 보안 정책의 중요성을 강조합니다. 추가적인 조치를 취하지 않으면 시스템에 물리적으로 접근하는 것만으로도 거의 완전한 침입에 이를 수 있습니다.안전한 물리적 접근 및 부트로더
- GRUB 설정을 수정하거나 Live USB에서 부팅하는 것을 방지하려면 다음과 같은 몇 가지 안전 장치를 구현해야 합니다.
- BIOS/UEFI 보호 : 무단 수정을 방지하기 위해 비밀번호를 추가합니다.GRUB 비밀번호
: 루트 셸을 실행할 수 있는 부팅 옵션의 무단 편집을 방지합니다.
: Live USB에 액세스하더라도 데이터는 안전하게 보호됩니다.
중요한 시스템에 대한 물리적 접근을 최대한 제한합니다. 백업 및 액세스 관리 절차를 구현합니다.
물리적 보호 외에도 Linux에서는 효과적인 비밀번호 및 권한 관리가 필수적입니다.사용자 계정과 루트 계정에 복잡하고 고유한 비밀번호를 사용합니다.
네트워크 관리 및 손쉬운 통합을 위해 nmcli와 같은 Linux 호환 비밀번호 관리자를 구현하세요. 접근 권한을 문서화하고 민감한 비밀번호를 정기적으로 변경하세요.사용자에게 비밀번호를 일반 텍스트로 공유하지 않도록 교육하세요.
알림 및 모니터링 도구를 사용하세요.
일부 오픈 소스 프로젝트는 시스템 상태를 모니터링하고 무단 접근을 나타낼 수 있는 이상 징후를 감지하는 고급 기능을 제공합니다. Linux는 GPU 오류와 같은 중요한 하드웨어 오류를 사용자 공간에 알리는 표준화된 시스템을 구현합니다(자세한 내용은 여기 참조). 사용자 계정 변경 사항을 추적하려면 실시간 분석 기능이 있는 로깅 시스템을 사용하는 것이 좋습니다.
- https://www.youtube.com/watch?v=PFU3sjNxZZY