rootユーザーにパスワードのないFedora VPSがあります。 SSHキーを使用してログインします。
ネットワーク管理のために、このサーバーに権限の低い別のアカウントがあります。これでパスワードも削除しました。
たとえば、サーバーにパスワードを持つユーザーがいない場合、SSHキーを紛失した場合はどうなりますか?ログインできないため、サーバーを永久に使用できませんか?
sudo
また、rootユーザーと呼び出しユーザーの両方にパスワードがない場合、プログラムはどのように実行されますか?試してみましたが、パスワードを尋ねませんでした。user ALL=(ALL) ALL
sudoersファイルに対応する行があり、機能しました(変更する必要がありますか?)。
答え1
ファイルの2番目のフィールドを削除すると、/etc/passwd
ユーザーは何の問題もなくログインできます。ログインを許可するにはログインしてみてください。それで、このようなことはあなたがしたいことではないかもしれません。
root:$1$iM/2lekk$rXUAcF5fY8ddLL.B1bkH63:12242:0:99999:7:::
/etc/passwd はじめに
- ユーザー名:ユーザーがログインするときに使用されます。長さは1〜32文字の間でなければなりません。
- パスワード:x文字は、暗号化されたパスワードが/ etc / shadowファイルに保存されていることを示します。
- ユーザーID(UID):各ユーザーにはユーザーID(UID)を割り当てる必要があります。 UID 0(ゼロ)はルート用に予約されており、UID 1-99は他の事前定義されたアカウント用に予約されています。さらに、UID 100-999は管理およびシステムアカウント/グループ用にシステムで予約されています。
- グループID(GID):デフォルトのグループID(/ etc / groupファイルに保存)
- ユーザーID情報:コメントフィールド。これにより、ユーザーの名前、電話番号などのユーザーに関する追加情報を追加できます。このフィールドは指コマンドで使用されます。
- ホームディレクトリ:ユーザーがログインしているディレクトリの絶対パス。ディレクトリが存在しない場合、ユーザーディレクトリは/になります。
- コマンド/シェル: コマンドまたはシェルの絶対パス (/bin/bash)。通常、これはシェルです。シェルである必要はありません。
次から借りる/etc/passwd ファイル形式の理解
パスワードログインを無効にする
フィールドが空のファイルとファイルにx(:x:
)と:!:
aが含まれているものとの間にはわずかな違いがあります/etc/shadow
。これは、アカウントが意図的にログインを許可しないように設定されていることを意味します。これは、お客様の要件に適している可能性があります。
/etc/shadow
root:!:15669:0:99999:7:::
すべてのアカウントに対して同じことができます。公開/秘密鍵を使用してログインを許可する場合は、ssh
おそらくこの方法をお勧めします。
その他の問題
たとえば、サーバーにパスワードを持つユーザーがいない場合、SSHキーを紛失した場合はどうなりますか?ログインできないため、サーバーを永久に使用できませんか?
サーバーに物理的にアクセスできる限り、いつでもシステムにアクセスできます。再起動が必要です。 VPSでは多少難しいかもしれませんが、可能です。
通常、システムをシングルユーザーモードで起動すると、/etc/passwd
必要に応じてファイルを編集できます。/etc/shadow
また、rootユーザーと呼び出しユーザーの両方にパスワードがない場合、sudoプログラムはどのように実行されますか?試してみましたが、パスワードを求められませんでした。 sudoersファイルにそのユーザーのALL =(ALL)ALL行があったために機能しました(変更する必要がありますか?)。
はい、sudo
パスワードなしでは使用するのが難しいです。処理時に他のソースを使用する方法がありますsudo
。次のタイトルのU&L Q&Aをご覧ください。sudoパスワードをログインパスワードとは異なる設定にしてください。。
答え2
「パスワードの削除」と呼ばれるいくつかのことがあることに注意してください。 Linuxの場合:
passwd -d USER
パスワードなしでログインできるようにアカウントを設定してください。 (一部のサービス、特にsshはこの場合ログインをブロックするように設定される傾向があります。)passwd -l USER
アカウントパスワードロック:パスワードは許可されていません。 SSHキーやsudoなどの他の手段でログインすることは依然として可能です。usermod -e 1 USER
アカウントのロック(パスワードの有効期限を過去の日付に設定):どのサービスでもアカウントにログインできません。
2番目の意味を意味すると仮定します。これらのアカウントはパスワードでログインできなくなりましたが、まだキーを使用するか、sudoを使用してsshを介してアクセスできます。
アカウントのパスワードを無効にすると、sudo は使用できなくなります。sudoがパスワードの再入力を求めない猶予期間があります。その後、デフォルト設定を異常な方法で変更しない限り、sudoはパスワードの入力を求められ、パスワードがなくなったためパスワードを入力することはできません。これはラベル付きのsudoersルールには適用されませんNOPASSWD
。
パスワードを削除することは、強力なパスワードを選択するよりも安全ではありません。 VPSが仮想コンソールにログインする方法を提供している場合は、rootアカウントの長いランダムパスワードを作成して動作するかどうかをテストし、印刷して紙を金庫に入れます。これにより、問題が発生した場合(たとえば、「申し訳ありません。sshでロックされています」または「申し訳ありません。sudoでロックされました」)、システムへのアクセスを復元できます。あなたのアカウントについて覚えている短いパスワードを選択し、SSHログインパスワードを無効にし(オプション)、パスワードを入力してsudo
rootになります。通常のアカウントでは、ルートとしての追加認証レベルは、ルートではなくアカウントに検出されていないトロイの木馬を植えるのがはるかに難しいため、便利です。
答え3
ほとんどの場合、パスワードがなくても大丈夫です。
はい、SSHキーによる認証のみを許可し、SSHキーを紛失した場合はもうログインできません。この場合、一部のLive CDを起動してソースシステムをインストールした後にルートパスワードを追加できます。 (これらのオプションがない場合は、ルートにパスワードを設定するのが最善です。)
Sudoはパスワードを要求しないように設定できます。NOPASSWD:
有効にするオプションがあります。 (望むよりman sudoers
。)
認証に使用できる他の方法もたくさんあります。設定して有効にできます。ポリアクリルアミドシステム。