GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでrootアカウントを無効にする4つの方法

ルート accountは、Linuxおよびその他のUnixライクなオペレーティングシステムの究極のアカウントです。このアカウントは、完全な読み取り、書き込み、および実行のアクセス許可を持つシステム上のすべてのコマンドとファイルにアクセスできます。これは、システム上であらゆる種類のタスクを実行するために使用されます。他のユーザーのアカウントの作成/更新/アクセス/削除、ソフトウェアパッケージのインストール/削除/アップグレードなど。

ルート ユーザーには絶対的な力があり、ユーザーが実行するアクションはすべてシステム上重要です。この点で、ルートによるエラー ユーザーは、システムの通常の操作に大きな影響を与える可能性があります。さらに、このアカウントは、誤って、悪意を持って、またはポリシーを不注意に無視して、不適切または不適切に使用することによって悪用される可能性もあります。

したがって、Linuxサーバーでrootアクセスを無効にすることをお勧めします。代わりに、サーバーで重要なタスクを実行するために、sudoコマンドを使用してrootユーザー権限を取得するように構成する必要がある管理者アカウントを作成します。

この記事では、Linuxでrootユーザーアカウントのログインを無効にする4つの方法について説明します。

注意 :ルートへのアクセスをブロックする前 アカウントでは、useraddコマンドを使用してsudoコマンドを使用してrootユーザー権限を取得できる管理者アカウントを作成し、このユーザーアカウントに強力なパスワードを付与していることを確認してください。フラグ-m ユーザーのホームディレクトリと-cを作成することを意味します コメントを指定できます:

# useradd -m -c "Admin User" admin
# passwd admin

次に、usermodコマンドを使用して、このユーザーをシステム管理者の適切なグループに追加します。ここで、switch -a ユーザーアカウントと-Gを追加することを意味します ユーザーを追加するグループを指定します(Linuxディストリビューションに応じてwheelまたはsudo):

# usermod -aG wheel admin    #CentOS/RHEL
# usermod -aG sudo admin     #Debian/Ubuntu 

管理者権限を持つユーザーを作成したら、rootアクセスをブロックするためにそのアカウントに切り替えます。

# su admin

1。 rootユーザーのシェルを変更する

rootユーザーのログインを無効にする最も簡単な方法は、シェルを/bin/bashから変更することです。 または/bin/bash (またはユーザーのログインを許可するその他のシェル)/sbin/nologin / etc / passwd ファイル。図のように、お気に入りのコマンドラインエディタを使用して編集するために開くことができます。

  
$ sudo vim /etc/passwd

行を変更します:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

ファイルを保存して閉じます。

これから、ルートのとき ユーザーがログインすると、「このアカウントは現在利用できません。」というメッセージが表示されます。 」これはデフォルトのメッセージですが、ファイル /etc/nologin.txt に変更して、カスタムメッセージを設定できます。 。

この方法は、ユーザーログインにシェルを必要とするプログラムでのみ有効です。それ以外の場合は、 sudo ftp およびメール クライアントはrootアカウントにアクセスできます。

2。コンソールデバイス(TTY)を介したrootログインを無効にする

2番目の方法では、 PAMを使用します pam_securettyというモジュール 、ユーザーが「安全な」TTYにログインしている場合にのみrootアクセスを許可します / etc / securettyのリストで定義されています 。

上記のファイルでは、どの TTYを指定できます rootユーザーがログインを許可されているデバイス。このファイルを空にすると、コンピューターシステムに接続されているデバイスでrootがログインできなくなります。

空のファイルを作成するには、を実行します。

$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty

この方法にはいくつかの制限があり、ログイン、ディスプレイマネージャ( gdm など)などのプログラムにのみ影響します。 、 kdm およびxdm )およびTTYを起動するその他のネットワークサービス。 su、sudo、ssh、およびその他の関連するopensshツールなどのプログラムは、rootアカウントにアクセスできます。

3。 SSHルートログインを無効にする

リモートサーバーまたはVPSにアクセスする最も一般的な方法は、SSH経由であり、その下でrootユーザーのログインをブロックするには、 / etc / ssh / sshd_configを編集する必要があります。 ファイル。

$ sudo vim /etc/ssh/sshd_config

次に、ディレクティブのコメントを解除します(コメントされている場合) PermitRootLogin その値をnoに設定します スクリーンショットに示されているように。

完了したら、ファイルを保存して閉じます。次に、 sshdを再起動します 構成の最近の変更を適用するサービス。

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

ご存知かもしれませんが、この方法はopensshツールセットにのみ影響し、ssh、scp、sftpなどのプログラムはrootアカウントへのアクセスをブロックされます。

4。ルートアクセスをPAM経由のサービスに制限する

Pluggable Authentication Modules PAM 要するに)は、Linuxシステムでの集中型、プラグ可能、モジュール式、および柔軟な認証方法です。 PAM、 /lib/security/pam_listfile.soを介して モジュール、特定のアカウントの特権を制限する際の大きな柔軟性を可能にします。

上記のモジュールを使用して、ログイン、ssh、PAM対応プログラムなどの一部のターゲットサービスを介したログインが許可されていないユーザーのリストを参照できます。

この場合、ログインおよびsshdサービスへのアクセスを制限することにより、システムへのrootユーザーアクセスを無効にします。まず、 /etc/pam.d/でターゲットサービスのファイルを開いて編集します 示されているディレクトリ。

$ sudo vim /etc/pam.d/login
OR
sudo vim /etc/pam.d/sshd

次に、両方のファイルに以下の構成を追加します。

auth    required       pam_listfile.so \
        onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

完了したら、各ファイルを保存して閉じます。次に、プレーンファイル / etc / ssh / deniedusersを作成します これには、1行に1つのアイテムが含まれている必要があり、誰でも読み取れるものではありません。

その中に名前rootを追加し、保存して閉じます。

$ sudo vim /etc/ssh/deniedusers

また、これに必要な権限を設定します。

$ sudo chmod 600 /etc/ssh/deniedusers

この方法は、PAM対応のプログラムとサービスにのみ影響します。 FTPや電子メールクライアントなどを介したシステムへのrootアクセスをブロックできます。

詳細については、関連するマニュアルページを参照してください。

$ man pam_securetty
$ man sshd_config
$ man pam

それで全部です!この記事では、Linuxでrootユーザーのログイン(またはアカウント)を無効にする4つの方法について説明しました。コメント、提案、質問がありましたら、下のフィードバックフォームからお気軽にご連絡ください。


Linux
  1. Linuxでユーザーパスワードを変更、削除、または無効にする方法

  2. rootアカウントでのログインを無効にする

  3. ルートとしてユーザーアカウントにWordPressをインストールします

  1. Linuxでユーザーアカウント情報とログインの詳細を見つける11の方法

  2. Linuxユーザーアカウント監視の概要

  3. Linux ユーザー アカウントのロックを解除できません

  1. Linuxユーザー環境をカスタマイズする方法

  2. Ubuntu 20.04LTSLinuxシステムでrootアカウントを無効にする方法

  3. Ubuntu 20.04でrootユーザーアカウントを有効または無効にします-今すぐ実行しますか?