カスタムデーモン:rootの使用を避けるためにどのユーザーとして実行できますか?

カスタムデーモン:rootの使用を避けるためにどのユーザーとして実行できますか?

一つ書きたい悪魔バックグラウンド通信用に起動後にログイン前に開始USB-rawhidそしてArduinoマイクロコントローラ

このデーモンをrootではなくユーザーとして実行したいと思います。

また、このデーモンに対してのみ新しいユーザーを作成することを避けたいと思います。

この目的のために(再)使用できるシステムユニバーサルユーザーはありますか?

リストにBut...という/etc/shadowユーザーがいます。daemon

# su daemon
This account is currently not available.

私の現在の目標は次のとおりです。

このユニバーサルユーザーがデフォルトのDebianとUbuntuのインストールで利用可能であれば良いでしょう。

答え1

@Bibが述べたように、daemonそのユーザーに切り替えようとしたときに表示されるエラーメッセージは、そのユーザーのログインシェルがに設定されているためです/sbin/nologin。これにより、誰もそのユーザーとしてコンソールで作業できなくなるため、サービスへの不要な干渉を避けることをお勧めします。そのユーザーとして実行しています。これはsystemd、そのユーザーのUIDを使用してプログラムを実行できないという意味ではなく、daemonそのユーザーを好きな方法で使用できます。

しかし、daemon最初はユーザーとグループこの目的のために導入されました。現在実際に推奨されるアプローチは、コンピュータに設定したいカスタムサービスに対して専用の「低権限」ユーザーを作成することです。

実行中のサービスを使用することを明示的に指定したので、このディレクティブを使用してバイナリを実行するユーザーを指定systemdできます。User=ただ追加してください

User=daemon

[Service]ファイルセクション.service。バラよりsystemd出荷書類ビーチより多くの情報を知りたいです。

関連情報