라즈베리파이

캘리버(Calibre) 로그인 비밀번호 분실시 초기화 방법

꼬망토끼 2020. 7. 21. 10:44

1. 비밀번호 초기화

캘리버를 잘 사용하다가 갑자기 비밀번호가 생각 안나는 경우가 있다. 

 

물론, "Forgot Password" 버튼을 사용하여 패스워드 재설정을 생각할 수 도 있지만, 이는 SMTP 서버 및 이메일 주소를 제대로 설정했을 경우에나 가능하고 그렇지 않은 경우는 무용지물이다.

 

캘리버 컨테이너의 경우 "/config" 폴더 아래 app.db 파일에 사용자 ID 및 비밀번호 등이 저장되어 있다. 이를 초기화 하기 위해서는 Portainer를 실행, 컨테이너 리스트에서 캘리버 컨테이너의 쉘로 접속한다. 

그리고 아래 명령들을 이용하여 app.db 파일을 백업해 둔다.

# cd /config
# mv app.db app_backup.db

 

다시 캘리버 컨테이너 상세 정보에서 "Duplicate/Edit" 버튼을 클릭한다.

 

그리고 아래쪽으로 스크롤하여 "Deploy the container" 버튼을 누른다.

 

아래와 같은 경고 메시지가 나오면 "Replace" 버튼을 클릭한다.

 

이제 컨테이너 재생성이 완료되었다. 

 

이 작업을 수행하면 지워진 app.db 파일이 초기 파일로 복구된다.

 

이제 캘리버에 다시 접속하면 아래처럼 Basic Configuration 화면이 나온다. Library Configuration에 "/books"를 입력하고 "Save" 버튼을 누른다.

 

이제 초기 사용자 ID인 admin 과 비밀번호인 admin123으로 로그인 할 수 있다.

 

아래는 admin으로 로그인한 화면이다.

 

이제 사용자 버튼을 클릭한 후 새로운 ID 및 비밀번호를 설정하면 해당 계정정보로 로그인 가능하다.

 

2. 설정 복구

위 절차를 통해 사용자 ID 및 비밀번호 복구가 가능하다. 또한 저장된 전자책 정보는 그대로 살아있다.

그러나 app.db에 저장되어 있던 책장(Shelf) 이나 북마크 정보가 사라져 버린다.

이를 복구하기 위해서는 아까 복사해둔 app_backup.db파일을 활용하면 된다.

 

우선 아래 명령으로 app.db, app_backup.db 파일을 /books 폴더로 복사도록 한다. /books 폴더는 라즈베리파이의 외장 HDD로 마운트 되어 있어 윈도우PC에서 바로 접속 및 수정이 가능하다.

# cd /config
# cp -p app* /books

 

이제 윈도우 탐색기에서 라즈베리파이로 접속해 보면 아래처럼 복사된 app.db, app_backup.db 파일이 보인다.

 

이제 "DB Browser for SQLite" 프로그램을 이용하여 app.db 파일을 오픈한다. 해당 프로그램은 https://sqlitebrowser.org/서 다운로드 받을 수 있다.

 

파일을 연 다음 아래 "데이터 보기" 탭을 선택하고 "user" 테이블을 선택하면 아까 수정한 사용자 ID 및 비밀번호 해쉬값을 찾을 수 있다.

이 비밀번호 해쉬값을 복사해 두도록 한다.

 

이제 app_backup.db 파일을 열고, 위와 동일한 위치로 이동하여 복사해둔 비밀번호 해쉬값을 붙여 넣도록 한다. 그리고 "적용" 버튼을 클릭한다.

 

이제 app_backup.db 데이터베이스를 저장하고 종료한다.

 

다시, 캘러버 컨테이너의 쉘로 돌아가 "cp -p /books/app_backup.db /config/app.db" 명령어를 이용하여 app_backup.db 파일을 app.db파일로 복사하도록 한다.

 

이제 캘리버 웹사이트에 다시 접속, 새로운 사용자로 로그인하면 로그인도 성공할 뿐만 아니라, 기존의 책장 및 북마크 정보도 모두 복구 가능하다.