Watch

ターミナルでパスワードを入力できない理由を理解する

ターミナルでパスワードを入力できない理由を理解する

ターミナルにパスワードを入力できませんか?入力できますが、表示されないだけです

場合によっては、ターミナルにパスワードを入力しなければならないことがあります。これは通常、ユーザーがスーパーユーザー権限でコマンドを実行できるようにする sudo または su コマンドを使用するためです。これは、標準ユーザー アカウントではアクセスできない読み取りまたは変更を許可する場合によく使用されます。通常、sudo は別のコマンドの前に付けられ、「sudo nano /etc/hosts」のようになります。コマンド ラインと sudo のほとんどは一般に上級ユーザー向けですが、たまにコンピューターをあまり使用しないユーザーが、機能を有効にしたり、システム ファイルを変更したり、トラブルシューティングを行うためにターミナルを使用する必要があることもあります。コマンド ラインを使用する初心者ユーザーにとって、ターミナルへのパスワード入力に関して非常によくある質問が発生します。これはほぼ常に sudo に関連しており、 Mac OS X (または Linux) のコマンド ラインにパスワードを入力できないように見えることに関係しています。


しかし、問題はここにあります。ターミナルではパスワードを入力できるのですが、そのように見えません。画面上のカーソルは動かず、パスワードが入力されていることが全く示されません。これは意図的なものであり、セキュリティ対策として機能しています。Web フォームや標準の GUI ログイン画面にパスワードを入力する場合、通常は ******** のようなアスタリスクや ••••••••••••• のような箇条書きで表示されますが、何も表示されないのは完全に意図的なものであり、コマンドラインでパスワードを入力していることを示すものはありません。理由は単純で、パスワードの長さが示されないため、パスワード入力がさらに難読化されるからです。

少し分かりにくいように思われるかもしれませんが、全く問題ありません。実際の動作は以下のようになります。例えば、sudo アクセスを必要とするコマンドを実行すると、おなじみの「Password:」というエントリが表示されます。

% sudo cat /etc/secret.conf
Password:

「パスワード:」の入力要求が表示されたら、何も表示されなくてもとにかくパスワードを入力し、入力が完了したらReturnキーを押してください。繰り返しますが、パスワードが入力されていることを示す表示はありません。これは意図的なものです。

端末はパスワードを目に見えて入力しませんが、入力されています

では、先ほどの例のコマンドをもう一度実行してみましょう。この特定のマシンの管理者パスワードが「Monkey123」であると仮定すると、パスワードはまったく表示されないにもかかわらず、要求されたとおりに入力します。つまり、シーケンスは次のようになります。

% sudo cat /etc/secret.conf
Password: Monkey123 (hit Return key)

これでコマンドが実行されます。Monkey123(または管理者パスワード)は画面に表示されません。アスタリスクや箇条書きも表示されません。

ターミナルにパスワードを入力しても表示されません。これは意図的なものです。

100% 明確に言うと:

セキュリティ対策として、ターミナルのパスワードは入力しても表示されません。とにかく要求されたらパスワードを入力してリターンキーを押します。

パスワードを入力してリターンキーを押すと、認証のためにパスワードが送信され、パスワードが正しく入力されたと仮定すると、コマンドは期待どおりに実行されます。

通常、ユーザーはこれを一度か二度経験するだけで仕組みを理解できますが、コマンドラインを使い始めたばかりのユーザーにとっては依然として重要な疑問です。一度理解すれば、その知識を他の人に伝えることができます。例えば、「なぜターミナルでパスワードを入力できないのですか?」と誰かに聞かれても、すぐに答えて説明できるようになります。

ご存知の方のためにご説明しますと、このデフォルトの動作は、コマンドライン(sudo、su、その他)でパスワードとして入力された各文字にアスタリスクを表示するように変更できます。ただし、この変更は推奨されません。この記事ではこの変更については取り上げません… 将来、興味があれば取​​り上げるかもしれません。

ターミナルでパスワードの長さと入力内容を非表示にするこのセキュリティ対策についてどう思いますか?これはUnixの世界では長年標準的な方法でしたが、Macでも便利だと思いますか?ぜひ下のコメント欄であなたの考えをお聞かせください。