htpasswd – HTTP Basic 認証用のユーザー管理コマンド

ユーザー管理

htpasswd コマンドは、Apache HTTP Server などで使われる Basic 認証 のユーザー名とパスワードを管理するためのツールです。
認証情報はハッシュ化されて .htpasswd ファイルに保存され、Web サイトのアクセス制御に利用されます。

構文(Syntax)

htpasswd [オプション] <パスワードファイル> <ユーザー名>

主なオプション一覧

オプション説明使用例
<file> <user>パスワードファイルにユーザーを追加/更新htpasswd .htpasswd alice
-c新しいパスワードファイルを作成(既存ファイルは上書き)htpasswd -c .htpasswd alice
-b対話入力ではなくコマンドラインでパスワードを指定htpasswd -b .htpasswd alice secret123
-Bbcrypt を使ってハッシュ化(推奨)htpasswd -B .htpasswd alice
-mMD5 でハッシュ化htpasswd -m .htpasswd bob
-sSHA でハッシュ化htpasswd -s .htpasswd bob
-dcrypt(3) でハッシュ化(非推奨)htpasswd -d .htpasswd bob
-D指定したユーザーを削除htpasswd -D .htpasswd alice
-v認証テスト(ユーザー/パスワード入力を確認)htpasswd -v .htpasswd alice

実行例

新しい .htpasswd を作成しユーザー追加

htpasswd -c .htpasswd alice

出力例(対話式入力):

New password:
Re-type new password:
Adding password for user alice

既存ファイルに新しいユーザーを追加

htpasswd .htpasswd bob

bcrypt で安全にパスワードを保存

htpasswd -B .htpasswd carol

コマンドラインでパスワードを指定

htpasswd -b .htpasswd dave secret123

ユーザーを削除

htpasswd -D .htpasswd bob

認証テスト

htpasswd -v .htpasswd alice

出力例:

Password: ****
Password for user alice correct.

エラー例(存在しないファイルを指定)

htpasswd notfound.htpasswd user

出力例:

htpasswd: cannot modify file notfound.htpasswd; use '-c' to create it

関連コマンド

  • openssl passwd : パスワードをハッシュ化して表示する。
  • apache2ctl : Apache HTTP Server の管理コマンド。

備考

  • .htpasswd は通常、Web サーバーの公開ディレクトリ外に配置し、.htaccess などで参照されます。
  • ハッシュ方式はセキュリティの観点から bcrypt (-B) 推奨
  • Apache 以外の Nginx や Lighttpd などでも .htpasswd を利用可能です。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント