Asteriskのパーミッション設定

提供: VoIP-Info.jp
2009年11月11日 (水) 02:59時点におけるTakahashi (トーク | 投稿記録)による版 (/var/runディレクトリの扱い)
移動先: 案内検索

Asteriskをroot起動するのは一番、簡単な方法ですがセキュリティの観点からは、あまり好ましくありません。そこでAsteriskを特定のUID/GIDで起動する方法について解説します。

ユーザ/グループの作成

ディストリビューションにあった方法で、ユーザとグループを作成してください。ここでは、それぞれの名前をいずれも asterisk と仮定して説明します。

Zaptelの調整

AsteriskがZaptelデバイスにアクセスするためユーザ/グループがasteriskで/dev/zap配下にアクセスできなくてはいけません。Zaptel udevのページを参照してください。
udevを使用していない場合には単純に以下の方法で/dev/zap下のパーミッションを変更しておきます。

# chown -R asterisk:asterisk /dev/zap

DAHDIの調整

DAHDIのパーミッション調整はDAHDIインストールのページを見てください。

ディレクトリ/ファイルのパーミッション

以下のようにして変更しておきます。

# chown -R asterisk:asterisk /var/lib/asterisk
# chown -R asterisk:asterisk /var/log/asterisk
# chown -R asterisk:asterisk /var/spool/asterisk
# chown -R asterisk:asterisk /etc/asterisk
# chmod -R u=rwX,g=rX,o= /var/lib/asterisk 
# chmod -R u=rwX,g=rX,o= /var/log/asterisk 
# chmod -R u=rwX,g=rX,o= /var/spool/asterisk 
# chmod -R u=rwX,g=rX,o= /etc/asterisk

Asteriskの起動

起動時にオプションをつけて行います。以下のようにします。

asterisk -U asterisk -G asterisk

-Uがユーザ名、-Gがグループ名です。もし、フォアグラウンド起動する場合には以下のようにします。

asterisk -U asterisk -G asterisk -vvvc

ディレクトリのパーミッションを変更した後には間違えてroot起動しないように注意してください。起動してしまうと/var/log/asterisk下のファイルのオーナがrootになってしまったりと困った事が起こります。その際にはパーミッション設定をやり直しましょう。

/var/runディレクトリの扱い

asterisk:asterisk で動作させる場合、/var/run ディレクトリの書き込み権が問題になる場合があります。この場合には以下のようにして対処します。

  • /var/run/asteriskを作ります
mkdir /var/run/asterisk
  • ディレクトリのパーミッションを asterisk に変えます
chwon asterisk:asterisk /var/run/asterisk
  • Asteriskの設定ファイルを修正します。

/etc/asterisk/asterisk.confを修正し、以下のようにastrundirを変えます。

astrundir => /var/run/asterisk

CLI

CLIで接続する場合には、rootで繋ぎに行っても問題はありません。