
に属するファイルを含む、システム内のすべてのファイルを変更せずにバックアップシステムに読み込んでコピーできる、一種の「バックアップオペレータ」アカウントを作成する必要があります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
答え2
あなたはsudoを探しています
sudoは、ユーザーが他のユーザーのセキュリティー権限でプログラムを実行できるようにするUnixファミリーのコンピューターオペレーティングシステムのプログラムです。