特定のファイルに対する制限された権限を持つLinuxのユーザーまたはグループにsudo権限を付与する方法

特定のファイルに対する制限された権限を持つLinuxのユーザーまたはグループにsudo権限を付与する方法

CentOS 6.7サーバーでsudo権限を持つユーザーまたは特定のグループのリストを提供したいが、/root/database.ymlファイルにアクセスできません。可能ですか?ファイルには実際にパスワードが含まれていますが、私以外は誰もこのパスワードを見ることができないことを願っています。どんなアドバイスや助けにも感謝します。

答え1

はい、このsudoプログラムを使用すると、ユーザーができることを制限できます。ポリシーはファイルにあります/etc/sudoers。特定のジョブのみを許可するには、そのジョブのみを実装し、そのジョブをコマンドとしてのみ実行するように制限するスクリプトを作成します。セキュリティが必要なものであることを確認するには、およびsudoマニュアルsudoersページを理解することをお勧めします。

答え2

いいえ、そうすることはできません。誰かにroot権限を付与すると、その人はすべてのファイルを読み書きすることを含むすべての操作を実行できます。これを何らかの方法で除外する方法がありますが、/root/database.ymlルートはまだsudo設定を変更したり、sudoバイナリを交換したり、ディスクに直接アクセスしたりすることができます。

他の管理者を信頼していない場合は、コンピュータに秘密を保存しないでください。

機密ファイルを保存したいが管理者が読み取れないようにするには、そのユーザーが管理者として使用しているコンピュータ以外のファイルにファイルを保存する必要があります。もちろん、異なるマシンは仮想マシンでもコンテナでもよく、別々の物理マシンである必要はありません。

したがって、他の管理者が管理したいすべてのサービスをVMまたはコンテナに配置し、VM /コンテナにルートとして配置します。/root/database.ymlホストに秘密ファイルを保持し、ホストにroot権限を付与しないでください。

関連情報