htpasswdコマンドでBasic認証のユーザーを追加、削除する方法

目次

スポンサードリンク

htpasswd ファイルは、WebサーバーのBasic認証で使用するパスワード情報を格納するファイルです。このファイルにユーザー名とパスワード(ハッシュ化された値)を登録することで、特定のディレクトリへのアクセスを制限することができます。

ユーザーを追加するコマンド

htpasswd ファイル にユーザーを追加する際は下記コマンドを実行します。

htpasswd -c ファイル名 ユーザー名

以下コマンドではカレントディレクトリに .htpasswd という名称でファイルを作成し、user1 というユーザーの認証情報を追加します。htpasswdファイルは通常隠しファイルとして作成することが多く、ファイル名の先頭に ピリオドを付け通常は lsコマンドなどで表示されないようにしています。

[root@hostname tmp]# htpasswd -c .htpasswd user1
New password:
Re-type new password:
Adding password for user user1

catコマンドでファイルの内容を確認してみます。user1 のハッシュ化されたパスワードが記録されていることが確認できます。

[root@hostname tmp]# cat .htpasswd
user1:$apr1$itLDjbaO$myft8KzxjeUw3p2ZcqRx00

複数のユーザーを追加するコマンド

複数のユーザーを追加したいときは -c オプションを外して実行します。下記コマンドでは user2 の認証情報を .htpasswd に追記しています。

[root@hostname tmp]# htpasswd .htpasswd user2
New password:
Re-type new password:
Adding password for user user2
[root@hostname tmp]#
[root@hostname tmp]# cat .htpasswd
user1:$apr1$itLDjbaO$myft8KzxjeUw3p2ZcqRx00
user2:$apr1$yKn4sjLN$7Q2x6Dv7XahIYTh/CE2Yl/

ユーザーを削除するコマンド

htpasswdファイルからユーザーを削除する際は-Dオプションを指定します。下記コマンドでは .htpasswdファイルから user2 の認証情報を削除しています。

[root@hostname tmp]# htpasswd -D .htpasswd user2
Deleting password for user user2
[root@hostname tmp]#
[root@hostname tmp]# cat .htpasswd
user1:$apr1$itLDjbaO$myft8KzxjeUw3p2ZcqRx00

また、直接 .htpasswdファイルを編集し削除したいユーザーの行を消すだけでもユーザーを削除することができます。htpasswdファイルを編集する場合は編集前にバックアップを取得するなど注意して作業しましょう。



Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon