2017年5月7日日曜日

Can't locate configuration file /usr/local/etc/no-ip2.conf. (Try -c). Ending!

先日、noip.comを使ったダイナミックDNSサービスを利用する方法を書きました。
ダイナミックDNSについて
http://www.sakashita-net.jp/2017/04/dns.html
設定を変更する必要があり、設定ファイルを更新したところ、noipデーモンが次のようなエラーメッセージを出し、起動しなくなりました。
# /usr/local/etc/rc.d/noip start

Can't locate configuration file /usr/local/etc/no-ip2.conf. (Try -c). Ending!

#
sh -xで上記のシェルスクリプトを実行してみました。
# sh -x  /usr/local/etc/rc.d/noip start

+ limits -C daemon su -m noip -c 'sh -c "/usr/local/bin/noip2 -c /usr/local/etc/no-ip2.conf "'
Can't locate configuration file /usr/local/etc/no-ip2.conf. (Try -c). Ending!

#
最後にnoip2コマンドをsu -m noipでnoipというユーザーで実行しています。ふと気になって、設定ファイル
/usr/local/etc/no-ip2.conf
を確かめてみました。
# ls -l /usr/local/etc/no-ip2.conf
-rw-------  1 root  wheel  160  5月  7 21:55 /usr/local/etc/no-ip2.conf
#
所有者がrootで他のユーザーは読めません。つまりnoipユーザーではこの設定ファイルは読み込めません。なので上記のエラーメッセージになっていたようです。
# chown noip /usr/local/etc/no-ip2.conf 
#
ユーザをnoipにして再び実行するとうまくいきました。