Linuxでjarをサービスとして実行するにはどうすればよいですか?すべてのガイドでは、/etc/systemd/systemフォルダにfile.serviceを作成する必要があることがわかります。ファイルを生成するコマンドを使用してスクリプトを作成したいのですが、各コマンドはSUDOを要求してパスワードを入力してみましたが、パスワード入力をバイパスしてスクリプトのすべての内容が自動的に行われるようにしたいと思います。誰でも助けることができますか?
別のフォルダにファイルを作成し、cpコマンドを使用してコピーしてみましたが、まだパスワードを入力する必要があります。 echo "XXX" > "/etc/stsyemd/system/filename.service" コマンドを試しましたが、権限が拒否されました。
ベストアンサー1
通常、sudoを使用するスクリプトでは「パスワードをバイパスする」ことはできません(設定を編集することはできますが、期待どおりに最初sudo
に設定を使用する必要がありますsudo
)。これがユーザー分離のすべてです。
したがって、あなたが望むことは不可能です。認証なしでrootになるスクリプトを書くことができる場合、ユーザーがrootができるすべての破壊的な操作を実行できないようにすることは意味がありません。
スクリプトの内容はすべて自動的に行われます。
これらのインストールスクリプトはルートによって実行されると合理的に想定できるため、スクリプト自体はそれを処理する必要はありませんがsudo
(内部ではなく全体的に)実行できます。
他にも「I want to run a jar」というメッセージは、/etc/systemd/systemにサービスをまったくインストールしないで、代わりにsystemd/userの~/.config/にユーザーサービスをインストールすればよいと提案できます。現在、ユーザーには特別な権限は必要ありません。したがって、ルートアクセスもなくsudo
。