Fess開発版のinitコマンドで初回起動前のパスワードと暗号鍵を設定する

Fessを新規に導入するときは、管理者の初期パスワードと、保存した認証情報の暗号化に使う鍵を最初に決めておきたいところです。開発版に追加されたfess-setup initで、この2項目を初回起動前に設定できるようになります。

初回起動前に実行する

出荷時のindex.user.initial_passwordはadmin、app.cipher.keyは___change__me___です。対応する開発版を展開し、まだFessを起動していない状態で、Fessの配置ディレクトリーから次を実行します。設定ファイルを書き換えられる権限が必要です。

bin/fess-setup init

オプションを省略すると、英数字16文字の管理者パスワードと英数字32文字の暗号鍵をランダム生成します。既定の設定ファイルはFess配下のapp/WEB-INF/classes/fess_config.propertiesです。RPM・DEB形式の配置では、対象ファイルを明示します。

bin/fess-setup init --config /etc/fess/fess_config.properties

成功後に表示される生成パスワードを安全に控えてから、Fessを初めて起動します。生成パスワードはコマンド実行時に表示され、設定ファイルにも書き込まれます。ターミナル出力や設定ファイルを不必要に共有しないようにします。暗号鍵そのものは通常の成功メッセージには表示されません。

既存環境のパスワード変更には使わない

初期パスワードはユーザーインデックスの作成時に読み込まれます。既に起動してユーザーを作成した環境で設定ファイルを変更しても、既存の管理者パスワードは変わりません。

また、暗号鍵を変えると、以前の鍵で保存したクロール設定などの認証情報を復号できなくなります。出荷時の値から変更済みの鍵がある場合、通常はコマンドが書き換えを拒否します。--forceで上書きはできますが、既存データを新しい鍵で暗号化し直す機能ではありません。新規導入向けのコマンドと考え、既存環境の鍵を安易に置き換えないようにします。移行や復元のためにも、設定ファイルと暗号鍵を安全に保管します。

値を指定する場合の条件

--admin-passwordと--cipher-keyで値を指定することもできます。ただし、コマンドライン引数は同じマシンの他の利用者から見える場合があるため、通常は自動生成を使う方が扱いやすいでしょう。

パスワードには空文字、前後の空白、制御文字、出荷時のadminを指定できません。明示する暗号鍵は空白を含まない印字可能なASCII文字の16・24・32文字で、出荷時の鍵も拒否されます。暗号方式がaes以外に設定されているファイルには対応しません。

対象の設定ファイルは既に存在する必要があります。2項目の既存行を置き換え、項目がなければ追記します。Fessを起動したり、既存ユーザーをリセットしたりするコマンドではないので、実行後の設定内容と初回ログインを確認して導入を進めます。

関連PR

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です