回答:
デフォルトでは、有効ユーザーIDが0のユーザー(つまり、root)としてのみ/ var / runに書き込むことができます。これには正当な理由があるため、何をするにしても、/ var / runのアクセス許可を変更しないでください。代わりに、rootとして/ var / runの下にディレクトリを作成します。
# mkdir /var/run/mydaemon
次に、その所有権を、プロセスを実行するユーザー/グループに変更します。
# chown myuser:myuser /var/run/mydaemon
ここで、/ var / runではなく/ var / run / mydaemonを使用するように指定します。
問題のユーザーとしてテストを実行することにより、いつでもこれをテストできます。
/tmp
またはのいずれかを使用します~
。
mkdir /var/run/mydaemon
chown myuser:myuser /var/run/mydaemon
次回の再起動時に失われるため、これは機能しません(/var/run
Ubuntuのtmpfsです)。
実行可能な唯一の解決策は、mkdirとchmodを起動スクリプトの一部として実行することです。
のエントリ/etc/permissions
は永続的です。そこにエントリを作成して、ディレクトリの所有権と権限を永続的にします。
プログラムユーザーをルートグループに入れないようにするには、他のユーザーに書き込みアクセスを許可します。
# chmod 757
chmod 757
も、次の再起動までしか機能しません。新しい回答の作成については申し訳ありませんが、他のコメントに返信する方法はないようです。
chmod
の/var/run
。作成者は、アプリケーションのサブディレクトリを意味している可能性があります。すべての大騒ぎが何であるかわからない。
/var/run/mydaemon
ディレクトリはなくなりました。