Linuxでユーザーサブシステムを完全に削除する方法は?

Linuxでユーザーサブシステムを完全に削除する方法は?

Linuxからユーザーサブシステムを完全に削除できますか?

人々がログインするのを防ぐことについて話すものではありません。私はログインできるシステム部分を削除することについて話しています。

その結果、オペレーティングシステムはすでに実行されているアプリケーション(Webサーバーなど)を除いてアクセスできないため、起動するとオペレーティングシステムにアクセスできなくなります。

目的は、ユーザーレベルのコマンドラインシステムが存在しないため、ユーザーレベルのコマンドラインアクセス権を取得する必要があるメカニズムを介してシステムをハッキングできないようにすることです。

答え1

興味深い違いは次のとおりです。

人々がログインするのを防ぐことについて話すものではありません。私はログインできるシステム部分を削除することについて話しています。

意味論的な違いに加えて、実際に何があるのか​​はよくわかりません。私がそれを削除した場合、/bin/loginログインが不可能になったため(物理端末から)ログインできません。しかし、完全なログインサブシステムを削除することはありません。

私のアドバイスは、予期しない依存関係がある可能性があるため、できるだけ完全に保つようにすることです。 Webサーバーが別のアカウントで実行されるようにユーザーを残してくださいroot。 PAMサブシステムを変更して、対話型および非対話型ログインを防止します。sudo同様にタイプアクセスをブロックすることを選択できます。

  1. 「拒否」のPAM定義の準備

    Create には/etc/pam.d/denied次の 2 行が含まれます。

    auth requisite pam_deny.so
    session requisite pam_deny.so
    
  2. 端末/画面でログインを防止

    /etc/pam.d/loginコピーと交換/etc/pam.d/denied

  3. ネットワークログインの防止ssh

    /etc/pam.d/sshdコピーと交換/etc/pam.d/denied

    編集/etc/ssh/sshd_configして設定されていることを確認してくださいUsePam yes

  4. (オプション)無効にしてみてください。sudo

    /etc/pam.d/sudoコピーと交換/etc/pam.d/denied

実際にすべてのログインを拒否するのではなく、物理端末/画面でルートログインを許可し、他のすべてのログインを拒否します。これはPAMを介して行うこともできますが、質問の特定の範囲を超えています。

答え2

まあ、理論的にはコマンドの名前を変更または削除できます/bin/login

これがそれを防ぐかどうかはわかりませんsingle user mode。あなたも予防したいかどうかはわかりませんsingle user mode

すべてのユーザーがログインするのを防ぐために興味深い作業を行うこともできますが、pam.dこれはログインのアイデアを破るのではなく、ユーザーがログインするのを防ぐだけです。

家に着いたら、覚えたら仮想マシンを起動して試してみましょう。ファイルを削除することも可能です/etc/shadowが、他のすべてのファイルも削除できます。

注:あなた欲しくないユーザーの考えを完全に諦めたいです。ログイン能力がないというのが悪い考えだからではなく(しかしこれがこのスレッドのポイントではない)権限のためにユーザーが存在しなければならないからです。ユーザーがいない場合、rwxサービスを実行するにはシステム上のすべてのファイルに権限を付与する必要があり、これにより実行できない問題が発生します。必要ハッキングにログインすると、人々はあなたが望むすべてのものにアクセスできます。

関連情報