ユーザーが自分のパスワードを変更できないようにするには、次のように入力する必要があると読みました。
パスワード -n 10000 $ユーザー
しかし、root ユーザーが $user のパスワードを変更できないようにするにはどうすればよいでしょうか?
背景: いくつかのディレクトリへの排他的アクセスを設定しようとしており、新しいユーザーが適切だと思いました。それでいいでしょうか? ほとんどのディレクトリが 1 TB を超えているため、これらのディレクトリを圧縮せず、パスワードで保護することを選択しています。何かヒントはありますか?
編集: ルートからのこのようなアクションを防止する理由は、ルートアクセス権を持つユーザーであっても、保護しようとしている一部の排他的ディレクトリにアクセスできないようにするためです。
答え1
この質問の根拠は疑わしいです...
新しいユーザーを作成するというあなたの望ましい解決策を批判すると、他の root ユーザーが新しいユーザーのパスワードを変更できない場合でも、root は任意のファイルを読み取ったり、ファイルのファイル権限を変更したりできるため、その必要はありません。つまり、そのユーザーが「そのユーザー」である必要はまったくありません。
他のユーザーによるアクセスを禁止したいテラバイト単位のデータがある場合、そのデータを他のユーザーがアクセスできる同じマシンに置かないでください。
複数のユーザーが使用するマシンにテラバイト単位のデータがある場合、それらのユーザーにデータへのアクセスを許可しないのはなぜでしょうか?
また、信頼できないルート ユーザーを複数持つ理由についてはまだ議論していません。確かにルート ユーザーが複数いるのは良いことですが、すべてのユーザーにルート アクセスがあるようです。友人は素晴らしいので、彼らを参加させてくれますが、彼らにルート権限は必要ありません。
ACL を使用しても、別の root ユーザーがデータにアクセスするのを防ぐことはできません。ACL はあなた (root) が作成したもので、他のユーザー (root) がそれを変更することになります。
唯一本当に実行可能な解決策は、さまざまな諜報機関がずっと昔に発明したもの、つまりエアギャップマシンです。
「極秘」データをドライブに保存し、友人のマシンには接続しないでください。または、ルート ユーザーが多数存在せず、ネットワーク アクセスのない別のマシンにドライブをインストールします。友人がこのマシンにアクセスするための Spook Grade ハッカー ツールを持っている可能性は低いため、このマシン (ファイル サーバー) にネットワーク アクセスを許可してもおそらく問題ありません。自分だけにアクセス権を与えると、データが分離されます。この種のマシンは、CPU、NIC だけで作成できます。
これらを「ある程度」信頼したい場合、および/または、このデータにこの (ルート ユーザーがクラスター化された) マシンからのみアクセスする場合は、シングル ユーザー モード、オフライン、コンソールを使用しているときにのみ、ドライブを物理的に接続します。
おそらく他の創造的な解決策もあるでしょうが、ソフトウェアが関係する場合、ある root ユーザーを別の root ユーザーから分離することはできません。
追記: root について言及する場合、私はその用語を、sudo などを持つユーザーではなく、真の root ユーザーを指すために使用しています。
答え2
結局のところ、誰かにシステムへのルート アクセスを与えると、システム上のすべてをその人に与えることになります。そのため、ルート アクセスを与える相手を信頼することが重要です。
答え3
/etc/shadowに不変の拡張ファイルシステム属性を設定するといいと思います。そうすれば、根ユーザーは不変ビットを元に戻します。コマンドは「chattr +i /etc/shadow」です。
プロのシステム管理者にルート アクセスをプロビジョニングする場合は、パスワードを変更しないように依頼してもパスワードは変更されないと想定する必要があります。最後に、Kerberos 5 または集中管理されるものに切り替えることもできます。