GNU/Linux >> Linux の 問題 >  >> Linux

root以外のユーザーアカウントでデーモンを実行することは良い習慣ですか?

NTPを使用してネットワーク時間を変更し、2台のコンピューターを同期するアプリケーションを開発しました。
rootとして実行されます 、Linuxでは後者のみが日時を変更できるため(私は推測します)。

今、私はそれをユーザーとして実行したいと思います。しかし、私は時間にアクセスする必要があります。

  • root以外のユーザーアカウントでデーモンを実行することをお勧めしますか?
  • アプリケーションに機能を与えましょうか CAP_SYS_TIMEなど ?
  • セキュリティの脆弱性は発生しませんか?
  • もっと良い方法はありますか?

承認された回答:

root以外のユーザーアカウントでデーモンを実行することをお勧めしますか?

はい、これは一般的です。たとえば、Apacheはrootとして開始し、新しいプロセスを www-dataとしてフォークします。 (デフォルト)
前述のように、プログラムがハッキングされた場合(例:コードインジェクション)、攻撃者はルートアクセスを取得しませんが、この特定のユーザーに与えた権限に制限されます。

「CAP_SYS_TIME」などの「機能」を指定しますか?

setuid の使用を避けるため、これは良い考えです。 、および権限をこの非常に特定の機能に制限します。

「グッドプラクティス」と見なされる別の方法を使用しますか?

たとえば、セキュリティを強化できます。

  • シェルを使用せずに、非特権ユーザーとしてサービスを実行します。
  • chrootを使用する ユーザーをホームディレクトリにロックします。

Linux
  1. rootなしのPodmanをroot以外のユーザーとして実行する

  2. 非ルートパッケージマネージャー?

  3. Openbsdでの仮想化ソリューション?

  1. root 以外のユーザーとして Docker を実行する

  2. Linux サービスを別のユーザーとして実行するためのベスト プラクティス

  3. sbt をデーモンとして実行するには?

  1. Linuxでrootアカウントを無効にする4つの方法

  2. Linuxユーザーアカウント監視の概要

  3. Kali デフォルトの非ルート ユーザー