追加読書

追加読書

カスタム systemd サービスを開始しようとすると、このエラーが発生します。

netrender-slave.service:EXECフェーズで/usr/local/bin/netrender-slave.shを作成できませんでした。権限が拒否されました。

これは/etc/systemd/system/netrender-slave.service

[Unit]
Description=Blender netrender slave manager

[Service]
ExecStart=/usr/local/bin/netrender-slave.sh start  
ExecStop=/usr/local/bin/netrender-slave.sh stop
ExecReload=/usr/local/bin/netrender-slave.sh reload 
Type=simple

[Install]
WantedBy=multi-user.target

存在するこの問題、問題はスクリプトの権限ですが、netrender-slave.sh大丈夫に見えます。

~# ls -al /usr/local/bin
total 16
drwxr-xr-x  2 root root 4096 Dec  4 11:30 .
drwxr-xr-x 10 root root 4096 Apr 20  2016 ..
-rwxr-xr-x  1 root root  816 Dec  4 11:30 netrender-slave.sh

存在するこの問題問題は、ディレクトリの1つに十分な権限がありませんが、すべての/usr/local/binディレクトリが次のようになることです。

drwxr-xr-x  2 root root 4096 Dec  4 11:30 .
drwxr-xr-x 10 root root 4096 Apr 20  2016 ..
...

しかし、これは同じ質問に対するコメントで提供されます。

出力にはlsUGO権限の後の.afterは表示されません。これはSELinuxセキュリティコンテキストを持つファイルを表すためにGNU lsによって使用される文字ですが、代替アクセス方法はありませんdrwxr-xr-x.代替アクセス方法の他の組み合わせを含むファイルは文字で表示されます+

これが私の問題であるかどうかを確認する方法がわかりません。

答え1

これはsystemdの恐怖の家に似合う悪いアプローチです。唯一の問題は、スクリプトファイルにインタプリタがないことだと思うかもしれません。そうではありません。あなたが見ていない大きな問題は、rcサービスユニット内で完全に不要な貧しい人々のサービス管理を含むvan Smoorenburgのスクリプトパッケージングです。これにより、誤ったプロセスがデーモンになり、正しく管理できなくなります。

しないでください。別の言葉

-b開発者は、そのオプションが混乱した文書であることを知らせる必要があります。

[単位]
説明=ブレンダーネットレンダースレーブマネージャー
ドキュメント=https://unix.stackexchange.com/a/408848/5132

[提供する]
タイプ=シンプル
作業ディレクトリ=/mnt/my-data
ユーザー=ec2 - ユーザー
環境=FLAGS="simple_slave_eiptarget.blend --addons netrender -a -noaudio -nojoystick"
ExecStart=/mnt/my-data/blender-2.73a-linux-glibc211-x86_64/blender -b $FLAGS --enable-autoexec

[インストールする]
WantedBy =マルチユーザー。ターゲット

追加読書

関連情報