Asteriskは今までrootで起動していましたが、専用のユーザ名で起動する方法を調べてみました。
ユーザを追加
# useradd asteriskpbx
# passwd asteriskpbx
ユーザをグループwheelに追加
# usermod -aG wheel asteriskpbx
たぶん特に必要はない。
ユーザasteriskpbxでsudoできることを確認する。
できないときは# visudo
を確認する。
asterisk.confでユーザ名、グループ名を設定
/etc/asterisk/asterisk.conf
[options]
runuser = asteriskpbx
rungroup = asteriskpbx
所有権、パーミッションを設定
asterisk.confの[directories]コンテキストに出てくるディレクトリに設定すればいいです。
# chown -R asteriskpbx:asteriskpbx /var/lib/asterisk
# chown -R asteriskpbx:asteriskpbx /var/log/asterisk
# chown -R asteriskpbx:asteriskpbx /var/spool/asterisk
# chown -R asteriskpbx:asteriskpbx /var/run/asterisk
# chown -R asteriskpbx:asteriskpbx /etc/asterisk
# chown -R asteriskpbx:asteriskpbx /usr/lib/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= /var/run/asterisk
# chmod -R u=rwX,g=rX,o= /etc/asterisk
# chmod -R u=rwX,g=rX,o= /usr/lib/asterisk
あとで設定ファイルなどを編集後に再読込して読んでないと思われるときは、多分パーミッションが原因なので、確認してもう一度パーミッションの設定をします。
##サービス(再)起動、ユーザ名が正しいことを確認
コンソールに入るとき(asterisk -r
)はrootでもかまわない。
$ sudo systemctl start asterisk
$ sudo asterisk -rvvvvv
Asterisk 13.22.0, Copyright (C) 1999 - 2014, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Running as user 'asteriskpbx'
Running under group 'asteriskpbx'
Connected to Asterisk 13.22.0 currently running on rpi (pid = 5616)
rpi*CLI>
ユーザ名、グループ名はAsterisk: The Definitive Guide, 4th Editionの例に従ってasteriskpbx:asteriskpbxとしています。
DAHDIはインストールしていないので省略しています。
環境
Vultr 東京リージョン Centos 7 x64
CentOS Linux release 7.5.1804 (Core)
Raspberry Pi 3B + Raspbian
Asterisk 13.22.0