ルートファイルを含むシステム上のすべてのファイルへの読み取りアクセス権を持つようにアカウントを設定するにはどうすればよいですか?

ルートファイルを含むシステム上のすべてのファイルへの読み取りアクセス権を持つようにアカウントを設定するにはどうすればよいですか?

に属するファイルを含む、システム内のすべてのファイルを変更せずにバックアップシステムに読み込んでコピーできる、一種の「バックアップオペレータ」アカウントを作成する必要がありますroot

このrootアカウントがこのタスクを実行できる唯一のアカウントのように見えますが、そのアカウントが目的のrootタスクを実行するのを防ぎません。私が考えることができるもう1つのオプションは、読み取り権限を持つグループにアカウントを配置し、そのアカウントをすべてのユーザーグループのメンバーにすることです。 Linuxでは、rwxこのためにデフォルト権限が生成されないようです。

Linuxには、ACLが提供できるように、この目的のためのより洗練された機能はありますか?

この権限は、リモートバックアップサーバーからログインしてすべてのファイルをリモートサーバーにバックアップするユーザーに提供されます。バックアップサーバーが破損すると、そのアカウントはバックアップしているサーバーにログインできなくなり、一部のダメージが発生する可能性があります。バックアップサーバーのアカウントもバックアップサーバーにログインできないようにしてください。

ベストアンサー1

一般に、人々はバックアップユーティリティをrootとして実行するcronか、SSHキーの無差別代入コマンドを介して実行し、ユーティリティは危険なタスクを実行しないと信じています。

ACLを使用した承認みんなシステム内のファイルは、各ファイルに対して個別にACLを設定する必要があるため、少し厄介です(POSIX ACLには、実際にサブツリーアクセスを許可する概念がないため、デフォルトのACLが自動的に新しいファイルにコピーされます)。 )。これらのファイルの所有者は、誤ってまたは意図的にこれらの権限を削除できます。セキュリティに敏感なプログラム(SSHやGPGなど)も、他の人があなたのファイルを読んでいることに気付いたら、少し怒っているかもしれません。 (これを行うためにACLを知る必要はありません。既存の権限ビットがACLによって付与された権限をマスクするため、ACLによって付与されたすべてのアクセスは既存の権限ビットから明らかになります。)

しかし、まだ方法があります。 Linux能力システムには、特にこの目的のための機能が含まれています。

CAP_DAC_READ_SEARCH

  • ファイルの読み取り権限の確認とディレクトリの読み取りと実行権限の確認をバイパスします。
  • 移動するopen_by_handle_at(2)
  • linkat(2) AT_EMPTY_PATHファイル記述子が参照するファイルへのリンクを生成するには、このフラグを使用します。

(最後の内容が他の内容とどんな関係があるのか​​は分かりませんが無視します…)

その機能を希望する特定のユーティリティがある場合は、次の情報を提供できますsetcap

# setcap "CAP_DAC_READ_SEARCH+ep" /path/to/backupcmd

/path/to/backupcmdただし、この機能はバイナリを実行できる人なら誰でも利用できます。これにより、任意のユーザーが特定のファイルにアクセスできないように保護できます。たとえば、それを実行できる必要があるユーザーグループである権限を持つ所有者にroot:backupします。rwx--x---backup

# chown root:backup /path/to/backupcmd
# chmod 710 /path/to/backupcmd

おすすめ記事