回答:
理論的には、それを変更する/etc/passwd
と、/etc/shadow
あなたは「名前の変更」ルートに必要なすべてのだろう。問題が発生するのは、存在するUnixソフトウェアのほとんどすべての部分が、ユーザー名「root」が存在し、それがスーパーユーザー(メールエイリアス、さまざまなデーモン、cron ...
あなたが本当にそれを試してみたいと思っているfind /etc -type f -exec grep -l root {} +
なら、おそらく変更する必要のあるすべての設定ファイルのリストを見つけることから始めるべきです-しかし、すでに述べたように、これはほとんどすべての考えられる状況で本当に悪い考えです。
EDITもう一つの考えは-あなたは既に(あなたはどのていない場合必要があります持っている)、それは確認して/etc/aliases
のエントリが含まれているroot
評価し、正しくいること、および存在するユーザ名またはメールアドレスを。多くの自動化されたシステム全体のタスク(cron
たとえば)はに電子メールで出力を送信しますroot
。これは従来、そのシステムの運用を担当するシステム管理者にエイリアスされています。
chown root …
シェルスクリプトで個人的に記述した、または類似したすべての時間を考えてみましょう。
このような恐怖はすべて、「やってはいけない!」とんでもないです。かつては、たぶん、ひどく書かれたスクリプトの多くを壊しましたが、私はそれらがもはやそれほど一般的ではないと思う。少なくとも標準配布にはありません。
Linuxサーバーのサブセットでルートアカウントの名前を変更するように言われました。それで、これを正しく行う方法を研究しようとした後、私は代わりに、「それをしないでください!」と言っている多くの投稿を見つけました。あなたがこれを行うことを選択した場合、「悪いこと」が起こるという悲惨な警告がたくさんあります。しかし、私は、起こる可能性のある「悪いこと」の具体例がまだ見つかっていません。
それで、バックアップして、私がどこにいるのか、どうやってここに来たのかを説明しましょう。PCI準拠の環境を構築していますが、これらの「要件」を満たすために役立つツールの1つは、ルートアカウントと管理者アカウントとゲストアカウントを別の名前に変更する必要があることを示しています。PCIについて教育を受けていない人には、ガイドラインに従うか、そのガイドラインに従わない、または従わないことを選択した理由、およびシステムを安全に保つための緩和戦略を文書化するオプションがあります。だから、ほとんどの場所がルートアカウントの名前を変更しない理由を文書化していると思いますが、私たちのグループは、Windows管理者アカウントの名前を問題なく変更できる場合、Linuxルートアカウントの名前も変更することを決定しました。
私は「隠蔽によるセキュリティ」の議論に精通しています。ルートアカウント名を変更するだけでは実際にセキュリティが大幅に向上するわけではないこと、SSHでルートを無効にする必要があることなどを知っています。それはポイントではなく、これ以上聞きたくありません。また、「空が落ちる」警告についても興味がありません。私は次のようなステートメントを探しています: ">この悪いこと<は、>この標準パッケージ<で起こります(あなたが>この<をしない限り)"。
これまでのところ、3つのCentOS(RHEL)システムがあり、明らかにルートアカウントの名前変更に問題はありません。私がしたことは次のとおりです。/etc/passwd、/etc/shadow、/etc/group、および/ etc / gshadowのアカウント名を変更しました。次に、/ etc /でrootという名前をgrepし、rootが新しいアカウント名のエイリアスになるようにpostfix aliasesファイルを変更し、rojotoroと呼びます。(他の電子メールシステムでも同様のことが行われます)。また、自動的に作成するファイルの所有者を説明するときに、logrotateのいくつかの構成を変更する必要があることもわかりました。そして、これが私がこれまでに変更したすべてです。
多くのinit.dスクリプトを見てきましたが、何も変更しておらず、すべてが起動時に正常に開始されるようです。sudoを使用する場合、新しいアカウント「sudo -u rojotoro vim / etc / passwd」を例として指定する必要がありますが、実際にはsudoersファイル内で何も変更する必要はありません。selinuxでいくつかの問題が発生する可能性があり、それを強制することを期待していましたが、今のところそのシステムに触れる必要はありません。
また、mkdevまたはmkfsスクリプトを調整する必要があるかもしれませんが、それらを使用する予定はないので、それらに値する精査でそれらを調べていません。
selinuxが有効なシステムに悪影響を与えずに本当に簡単に変更できる場合、なぜすべての恐怖が続くのでしょうか?
rpm -Va
、ルートアカウントの名前が変更されたシステムで何が表示されるかを確認できますか?Maximum RPMガイドによると、「ユーザーとグループの識別子は非数値でなければならない」ため、rootがファイルを所有する必要があることを指定するRPMは、インストール時にそれを行うことができません。あなたのシステムがどのようにそれを処理するのか疑問に思うだけです。
提案:それをしないでください。
一部のツールはuidを介してrootと通信しようとしますが、問題は発生しません。一部のツールは、rootアカウントがrootと呼ばれ、破損することを想定しています。システムの半分を「楽しみのために」再コンパイルする準備ができていない限り、試さないでください。
私の考えでは、最も簡単なことは、UID 0で/root
ホームとして新しいユーザー(エイリアス)を作成することです。
なぜにあなたのルートのデフォルトのシェルを切り替えていない/bin/false
か/sbin/nologin
(誰もそれにログインすることはできませんが、システムはまだそれを使用するようにする)と、ログイン作成した新しいエイリアスに?
razvan@naboo ~ $ head -2 /etc/passwd
root:x:0:0:root:/root:/bin/nologin
root2:x:0:0:root:/root:/bin/bash
razvan@naboo ~ $ su -
Password:
su: Authentication failure
razvan@naboo ~ $ su root2
Password:
naboo razvan # whoami
root
ルートのシェルをnologinに変更しても、sudo、mail、またはftwは破損しません。
/bin/false
場合、または/sbin/nologin
サービスを開始できない場合。したがって、それらはすべて再構成する必要があります。さらに、全体的な目的はセキュリティを向上させることでした。「ルート」権限を持つ2番目のアカウントを追加しても、セキュリティはほとんど向上しません。
LinuxはWindowsではなく、現在、未知の問題を作成せずにルートの名前を簡単に変更することはできません。
rootとしてリモートログインやローカルログインを無効にすることは、アカウントルートをアクティブに無効にするため、より安全な方法です。UBUNTUは基本的にこれを行い、ルートアクセスの代わりにsudoを強制します。
システムへのログインには使用できないため、システムを攻撃するためにルートアカウントを使用することはできません。
ルートアカウント名を簡単に変更するだけでなく、インストール時にUIDをランダムに生成する標準的な方法を作成し、可能な場合はすべてのコールドスタート時にUIDターゲティングを防止するのに便利ですが、現在は存在しません。
/ etc / passwdの調整root:x:0:0:root:/ root:/ bin / nologinの変更
緊急時のみ使用するための単一のフォールバック管理者アカウントを作成してください!fallbackadmin:x:0:0:root:/ root:/ bin / bash
すべての管理者にsudoを実装して、変更ログ監査を実装して、説明責任のために誰が変更を行ったかを正確に追跡できるようにします。
これにより、PCI US Gov要件が実装され、デフォルトの管理者/ゲストアカウントが無効になり、緊急用の管理者アカウントが1つ作成されます。
監査のためにログをアーカイブする1つの方法は、集中化されたAAAが実装されていない場合、sudoアカウントにアクセスできるすべてのユーザーから端末履歴を収集することです。
管理者専用アカウントを実装するソリューションは、1つのユーザー専用アカウントと1つのsudo対応アカウントを作成し、管理アクセスのためにユーザーを強制的にsudo対応アカウントにsuすることです。
より良いセキュリティが必要な場合、スマートカード認証を実装することもできます。GNU/ Linuxで利用できるソリューションは、2要素認証用のUS Common Access Card CAC Solutionsと比較できます。