すべてのファイルへの読み取り専用アクセス権を持つユーザーを作成するにはどうすればよいですか?(つまり、書き込み権限のないルート)


9

サーバーをバックアップするために、SSH経由でリモートアクセスしたいと思います。すべてのリスクを最小限に抑えるために、rootと同様に、読み取りアクセス権のみを持ち、すべてのファイルへのアクセス権を持つユーザーを使用する必要があります。ただし、書き込み権限は必要ありません。

それを達成する方法に関するアイデアはありますか?


回答:


7

メンテナンスの負担が少ない、問題を解決する別の方法をお勧めします。

特定のプログラムへのアクセスが制限されたsshキーを作成できます。rootに無制限のアクセスを許可するのは嫌いですが、特定のコマンドをリモート経由で実行できるようにする必要がある場合があります。sshキーを使用すると、sshコマンドでバックアッププログラムを実行できます。

sshdのmanページの「AUTHORIZED_KEYS FILE FORMAT」セクションを確認してください(OpenSSHを使用していると想定しています)。

http://man.openbsd.org/OpenBSD-current/man8/sshd.8


1
私はアイデアが好きです。男性で概説されている-optionsのすべてを介してファイルを単にプルするためにrsyncは、安全であるはずです。特にfrom -ptyと組み合わせてno-ptyを使用すると、セキュリティを向上させることができます。例:no-*from="the_pulling_hostname_or_IP",no-pty,...
user569825

1

ACLでそれを実現できます。すべてのファイルのアクセス許可を変更するスクリプトをrootとして実行する必要があります。興味がある場合は、ACL、setfacl、およびgetfaclのマニュアルページを参照してください。


1

ACLを使用せずにこれを作成する別の方法があります。ただし、ここでは注意を払う必要があります。最初に、たとえばroroot(読み取り専用ルート)というグループを作成します。次に、そのグループIDをすべてのディレクトリに適用します。グループビットのアクセス許可をr--または400の8進数にしてから、通常のユーザーと同様にユーザーアカウントを作成できます。 rorootグループのメンバーのみ。インストール環境でのグループの内容によっては、ホイール、ビンなどの一部にならないようにしてください。次のビットは無骨になるでしょう。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のメンバーにすぎず、システムへの読み取り専用アクセスを持ちます。

よろしくお願いします、トム。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.