> For the complete documentation index, see [llms.txt](https://docs.tibero.com/sysmasterdb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tibero.com/sysmasterdb/8.4_manual/appendix/appendix-b.md).

# Appendix B. 계정 비밀번호 초기화

## 사전 요구사항

SysMasterDB 8.4에서 계정 비밀번호를 초기화하기 위해서는 SysMasterDB 8.4가 실행 중인 호스트 머신에서 별도의 툴인 `smdb-user-reset.jar` 파일을 실행해야 한다. **Linux 호스트에서 root 권한(root 계정 또는 sudo)으로 툴을 실행해야 비밀번호를 초기화 할 수 있다.** 해당 툴은 java 8을 환경으로 구성해야 한다. 툴은 localhost로 metadb에 접속하므로, metadb 포트(METADB\_PORT)가 열려 있는 호스트에서 실행한다.

{% hint style="info" %}
**참고**

root 권한이 있는 사용자만 비밀번호 초기화 툴을 사용하여 일반 계정 및 관리자 계정의 비밀번호를 초기화 할 수 있다. Windows에서는 관리자 권한으로 실행해도 Error: Only superuser can run this app. 메시지와 함께 종료된다.
{% endhint %}

***

## 비밀번호 초기화

비밀번호 초기화 방법은 다음과 같다.

{% code collapsedlinecount="10" %}

```bash
java -jar smdb-user-reset.jar [파라미터]
```

{% endcode %}

해당 툴 실행 시 비밀번호가 초기화되며 아래와 같이 새로운 무작위 비밀번호가 제공된다.

{% code collapsedlinecount="10" %}

```
Password: 6py?NOQ#F6J@
```

{% endcode %}

{% hint style="info" %}
**참고**

초기화된 비밀번호는 한 번만 제공된다. 비밀번호 초기화 후 새로운 비밀번호로 변경하는 것을 권장한다.
{% endhint %}

비밀번호 초기화를 위한 툴을 실행하면서 metadb에 대한 접속 정보를 파라미터로 제공해야 한다. \
필요한 각 파라미터에 대한 설명은 다음과 같다.

| 파라미터           | 설명                                                                  | 기본값                     |
| -------------- | ------------------------------------------------------------------- | ----------------------- |
| `--target`     | 초기화할 계정 명 (예: `"admin"`)을 지정한다.                                     | 환경변수 ADMIN\_USERNAME 값  |
| `--dbuser`     | SysMasterDB 8.4 서비스에서 사용하는 metadb 유저명 (.env의 METADB\_USER)          | 환경변수 METADB\_USER 값     |
| `--dbpassword` | SysMasterDB 8.4 서비스에서 사용하는 metadb 유저의 비밀번호 (.env의 METADB\_PASSWORD) | 환경변수 METADB\_PASSWORD 값 |
| `--dbname`     | SysMasterDB 8.4 서비스에서 사용하는 metadb의 이름 (기본 설치 시 metadb)              | 없음(반드시 지정)              |
| `--port`       | SysMasterDB 8.4 서비스에서 사용하는 metadb의 포트 번호 (.env의 METADB\_PORT)       | 환경변수 METADB\_PORT 값     |
| `-h`, `--help` | 도움말을 출력한다.                                                          | –                       |

{% hint style="info" %}
**참고**

생략한 파라미터는 툴을 실행하는 셸의 환경변수에서 읽으며, .env 파일은 읽지 않는다. 값을 찾지 못하면 오류 메시지(예: Error: Database name is not provided.)와 함께 종료된다. sudo로 실행하면 환경변수가 전달되지 않을 수 있으므로, 아래 사용 예시처럼 모든 파라미터를 직접 지정한다.
{% endhint %}

### 사용 예시

{% code collapsedlinecount="10" %}

```
java -jar smdb-user-reset.jar --target "admin" --dbuser "sysmaster" --dbpassword "sysmaster" --dbname "metadb" --port "25432"

   _____ __  __ _____  ____    _____                _   
  / ____|  \/  |  __ \|  _ \  |  __ \              | |  
 | (___ | \  / | |  | | |_) | | |__) |___  ___  ___| |_ 
  \___ \| |\/| | |  | |  _ <  |  _  // _ \/ __|/ _ \ __|
  ____) | |  | | |__| | |_) | | | \ \  __/\__ \  __/ |_ 
 |_____/|_|  |_|_____/|____/  |_|  \_\___||___/\___|\__|
                                                        
                                                        
This app is running on Unix
Password updated successfully!
Reset completed, new password is set for admin.
Password: MJysNp[F[>%M
Please change the password after login.
```

{% endcode %}
