サーバーをバックアップするために、SSH経由でリモートアクセスしたいと思います。すべてのリスクを最小限に抑えるために、rootと同様に、読み取りアクセス権のみを持ち、すべてのファイルにアクセスできるユーザーを使用する必要があります。ただし、彼には書き込み権限はありません。
それを達成する方法に関するアイデアはありますか?
メンテナンスの手間がかからない、問題を解決する別の方法を提案するかもしれません。
特定のプログラムへのアクセスが制限されたsshキーを作成できます。ルートに無制限のアクセスを許可するのは嫌いですが、特定のコマンドをリモート経由で実行できるようにする必要がある場合があります。 sshキーを使用すると、sshコマンドを使用してバックアッププログラムを実行できます。
Sshdのマニュアルページの「AUTHORIZED_KEYSFILEFORMAT」セクションを確認してください(OpenSSHを使用していると想定しています)。
ACLでそれを達成することができます。すべてのファイルのアクセス許可を変更するrootとして実行されるスクリプトが必要です。興味がある場合は、ACL、setfacl、およびgetfaclのマニュアルページを参照してください。
ACLを使用せずにこれを作成する方法はもう少しあります。ただし、ここでは注意が必要です。まず、たとえばroroot(読み取り専用ルート)というグループを作成します。次に、そのグループIDをすべてのディレクトリに適用します。グループビットのアクセス権をr--または8進数で400にしてから、通常のユーザーと同様にユーザーアカウントを作成できます。グループrorootのメンバーのみ、インストールに含まれるグループによっては、wheel、binなどの一部にしないでください。次のビットは不器用になります。 vim/nano/emacs/joe /を使用して/ etc/passwdファイルを開き、どのエディターでもボートを揺さぶって、作成したIDを探します。 rorootusr、passwdファイルは次のようになります
root:x:0:0 ::/root:/ bin/sh
コロンで区切って左から右に読むと、ユーザー名、パスワード(暗号化+シャドウ)、ユーザーID、グループID、コメント、ホームディレクトリ、シェルがあります。与えられた上記の例から
rorootusr:x:512:450:rootユーザーRO:/ home/rorootusr:/ bin/bash
0に変更するのは3番目のフィールド(512)です。450はrorootのグループIDになります。編集セッションを保存すると完了です。これでrorootusrはrootアクセスを持ちますが、グループrorootのメンバーにすぎず、システムへの読み取り専用アクセスを持ちます。
これがお役に立てば幸いです、よろしく、トム。