web-dev-qa-db-ja.com

起動時に/ var / runにディレクトリを作成する方法は?

/etc/init.dの起動スクリプトが使用する/ var/runに非ルート所有ディレクトリを作成する必要があります。これを達成する適切な方法は何ですか? Ubuntu 14.04を使用しています。

2
prasopes

その場で実行する必要があります。 /var/run/はtmpfsなので、各ブートを再作成しました。

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

/ etc/init/cups.conf

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
4
Rinzwind