最近、Amazon EC2サーバーへのSSH接続に関するプロジェクトがありました。このプロジェクトでは、サーバー全体(サーバー上のすべてのファイル)に対する読み取り権限のみを持つユーザーを作成するように求められました。これを行う方法を検索しましたが、ほとんどの答えはコマンドを使用することです。
chown -R
彼らはこのコマンドがファイルの所有者を変更すると言いましたが、私はそうしたくありませんでした。だから私がしたことは(私は最初にLinuxに触れていて、私は多くを知りませんでした)、以下を使ってrootファイルに読み取り権限を追加することでした。コマンド
chmod 755 /
それ以来、もうサーバーに接続できなかったので、間違ったアクションだったようです。私の質問は、ルートファイルに触れることなくファイルの所有権を変更せずにこれを行う方法があるかどうかです。また、root
一般的に何が何でもファイルに触れるべきではないかどうか尋ねたいと思います。
答え1
ユーザーの設定により、.ssh
SSHはキーが破損していると思われるようにすることができます(SSHでは、これらのキーに所有者のみが読み取り/書き込みアクセス権を持つ必要があります)。.ssh/authorized_keys
755
通常のシステムでは、root以外のユーザーには汎用の読み取り権限がありません。包括的な読み取り権限は良い考えではありません(*)。実際の要件を特定し、必要で合理的に安全な場合にのみアクセスを設定することをお勧めします(/var/log
)。それにもかかわらず、ディレクトリを普遍的に読み取ることができないようにするのが最善です。読み取りアクセス権を持つグループに特定のユーザーを追加するか、ACLを使用してアクセスを微調整します。
(*)はい:読み取りアクセス権がある場合は、誰かがサーバーの秘密鍵を取得できます。これは、SSHを使用してログインしたときにサーバーを識別するキーです。このキーを別のサーバーにコピーすると、だまされて偽のサーバーにログインできます。