読者です 読者をやめる 読者になる 読者になる

あずきみるくのあずきはニガテ - for Engineer

ひよっこプログラマがやってみたことやハマっちゃったことなど、備忘録的な感じで書いていきます。

Subversion - ベーシック認証でいいっすか?

前回、Linuxサーバに突っ込んだSubversionWindowsマシンからアクセスする方法をお伝えしました。

が、しかし。
セキュリティはゆるゆるです。
一発で抜かれます。

というわけで、認証を追加することにしました。
内容は簡単なベーシック認証です。

環境etcは前回と変わらないので、、、前回をご参照くださいm(_ _ )m

今日の先生はこちら

[CentOS][SVN]Subversionの導入 - Linux編 | ごった煮 - tips about programming and building a server

Subversionでのアクセス権の付与

1.1 subversion.conf の修正

subversion.conf」とは、前回も触った、Apacheの設定ファイルです。
場所は「/etc/httpd/conf.d/subversion.conf」です。

編集内容は下記のとおり。
<Location>タグや「DAV」、「SVNPath」の項目は前回のままです。

<Location /svn/portal>
    DAV svn
    SVNPath /var/svn/repo/portal

    # only authenticated users may access the repository
    Require valid-user

    # how to authenticate a user
    AuthType Basic
    AuthName "Authorization Realm"
    AuthUserFile /var/svn/repo/portal/.htpasswd
</Location>

1.2 ユーザの作成

ユーザ情報は1.1の「AuthUserFile」項目で設定したとおり、以下のファイルに記述されます。
「 /var/svn/repo/portal/.htpasswd」
「htpasswd」は頭に「.(ドット)」がついてるので隠しファイルですね。
普通に「ls」叩いても見れません。ってゆーか、初めは存在しません。

では、とりあえず、コマンドをたたきます。

# htpasswd -b -c /var/svn/repo/portal/.htpasswd (ユーザ名) (パスワード)

※「-c」オプションは新規作成を表します。
 これをつけると、コマンド実行のたびに前回の情報を削除し、新しく作りかえられます。
 なので、追記の場合は外してください。


作成された「.htpasswd」はこんな感じになります。

ゆーざ1:$apr1$GxMCoUB0$ym7xcO3T7wicdTHXa.XAV.

ちゃんと、パスワードが暗号化されていますね。
これで、アクセスするたびに認証が発生する、というわけです。

やってみます。
「どこでもいいので右クリック>TortoiseSVNリポジトリブラウザー
を開いてみてください。
f:id:azuki-milk-lush:20150216111105p:plain

こんな感じでベーシック認証画面が出ました!!

さっき登録したユーザでログインしてみましょう!
できました?!


そんなわけで、とりあえず、登録された人だけがアクセスできるようになりました。