
/etc/init.d の起動スクリプトが使用する、非ルート所有のディレクトリを /var/run に作成する必要があります。これを実現する適切な方法は何ですか? Ubuntu 14.04 を使用しています。
答え1
これをオンザフライで行う必要があります。tmpfs/var/run/
なので、起動ごとに再作成します。
init スクリプトから:
- 内部にディレクトリを作成し
/var/run/
、そのユーザーの権限を変更します。 - 次に、
/var/run/mydaemon
ではなくを使用するように指定します/var/run
。
このチェック方法の例が必要な場合は、以下を参照してください (他にも例があります):
/etc/init.d/ssh
/etc/init.d/bind9
/etc/init/dbus.conf
/etc/init/ssh.conf
/etc/init/cups.conf
それらすべてに何らかのものがありますmkdir
。cups.conf:
mkdir -p /var/run/cups/certs
設定ファイル
pre-start script
[ -x /usr/sbin/cupsd ]
# load modules for parallel port support
if [ -r /etc/default/cups ]; then
. /etc/default/cups
fi
if [ "$LOAD_LP_MODULE" = "yes" -a -f /usr/lib/cups/backend/parallel \
-a -f /proc/modules -a -x /sbin/modprobe ]; then
modprobe -q -b lp || true
modprobe -q -b ppdev || true
modprobe -q -b parport_pc || true
fi
mkdir -p /var/run/cups/certs
if [ -x /lib/init/apparmor-profile-load ]; then
/lib/init/apparmor-profile-load usr.sbin.cupsd
fi
end script