サーバーに「バックアップ」ユーザーがいて、どこでも読み取り権限が必要です。 chown 444 -R / backup
行うのが正しいとは思えないので、どうすればよいですか?
2つのコマンドを混在させています。
ファイルの所有者を変更するために使用されるchown。例:chown root:adm /etc/passwd
ファイルの権限を変更するために使用されるchmod。例:chmod g+r myfile
あなたの目標が何であれ、あなたは本当にバックアップユーザーにすべてのファイルを所有させたくないそしてあなたは確かに望まないシステム上のすべてのユーザーに、システムのすべてのファイルを読み取る権利を与える。
あなたの目標は何ですか?
Linuxでは、ACL対応のファイルシステム(ext3、ReiserFS、ZFSで十分だと思います)を使用している場合は、バックアップオペレーターユーザーに読み取りおよびディレクトリトラバーサルの権利を設定できます。
/ homeをバックアップしたいとしましょう
mount -o remount,acl /home
を使用してマウントできます)。setfacl -R -m u:"Backup User":rx /home
新しいファイルとディレクトリにも適切な権限があることを確認する場合は、デフォルトのACLを設定します。
setfacl -R -m d:u:"Backup User":rx /home
あなたは明らかにそれをより細かい粒度で行うことができます(例えば、gnupgまたはsshキーをバックアップしたくない場合-とにかくパスワードで保護する必要があります)
Rootとしてバックアップを実行するのは賢明ではありません、私見。まず、誤ってディスクスペースを使い果たした場合、最後に使用可能なブロックまで消費し、システムを不安定にする可能性があります。次に、バックアップに使用するスクリプトまたはコマンドが完全にわからない場合、悪意のあるユーザーがバックアップを再帰的に実行したり、rootとして厄介なことをしたりする可能性があります。
私は個人的に、レプリカ上のサーバーを同期するためにrsyncメカニズムを使用しています。 ACLを使用するホームを除いて、ほとんどの同期ポイントで単純なグループ権限を使用します
chmod g+r myfile
gは、ファイルのグループ(管理者)を表します。
rは読み取り権限を表します。
簡単な答えは、バックアップをrootとして実行することです。実際、非常に面倒で危険なことをすることを除けば、それが私が知る限りの唯一の答えです。
もしあなたがそうなら、あなたはバックアップをすべての所有者として設定することも、それをすべてのグループとして設定することもできないので、それにアクセスを与える唯一の他の方法はすべての人にアクセスを与えることです。簡単に言えば、バックアップを実行するのはルートであるか、システムを台無しにします。
Rootとしてバックアップするのはまったく正常です。
バート。
chmod 0444/file。簡単にするために、これを使用してください: http://permissions-calculator.org/
これを行うためのやや邪魔にならない方法の1つは、バックアップユーザーをシステム上のすべてのグループに追加することです。
すべてのグループに属するこのユーザーはそれらのグループの権限を継承するため、グループで読み取り可能なファイルはすべてバックアップできます。 rootが所有するファイルをバックアップする場合は、これにrootグループが含まれます。
これにより、必ずしもすべてのファイルをバックアップできるとは限りませんが、ユーザーがプライベートとして設定していないすべてのファイルをバックアップすることはできます。 X00のファイルはバックアップされません。
このアプローチの欠点の1つは、新しいグループが作成されるときにそれに対応する必要があることです。また、ホームディレクトリをバックアップする場合は、少なくとも/ home(グループ用)に実行権限を設定する必要があります。
他の誰かが言ったように、これはあなたの実装によってはキーでsshを壊すかもしれません。