\r\n\r\n
パスワードは60年前からアカウントセキュリティの基礎となっており、これはUnixより10年近く前のことである。LinuxでコマンドラインやGNOMEデスクトップ環境を使ってパスワードを管理する方法をご紹介します。
コンピュータのパスワードは、必要に迫られて作られたものだ。複数ユーザーによるタイムシェアリングコンピューターシステムの登場により、人々のデータを分離し保護することの重要性が明らかになり、パスワードがこの問題を解決した。
パスワードは、今でもアカウント認証の最も一般的な方法です。二要素認証や多要素認証はパスワードの保護を強化し、生体認証はもう一つの認証方法を提供します。しかし、古き良き時代のパスワードは、今も昔も私たちとともにあり、これからもずっと続いていくことでしょう。つまり、どのように作成し、どのように使用するのがベストなのかを知る必要があるのです。昔のやり方が通用しなくなったものもある。
以下は、パスワードの基本的なルールです。
パスワードの有効期限に関するポリシーは、もはやベストプラクティスではありません。強力で安全なパスワードフレーズを採用していれば、漏洩した疑いがある場合にのみパスワードを変更する必要があります。パスワードを頻繁に変更すると、多くの人がパスワードの末尾に日付や数字を追加しただけの基本的なパスワードを使用するため、うっかりするとパスワードの選択を誤ることになります。
米国国立標準技術研究所(Nationalstituteofstandardsandtechnology)は、パスワード、ユーザー識別、および認証のテーマについて幅広く記述しています。このコメントは、特別出版物「800-63-3: Digital Authentication Guide」で公開されています。
かつてUnix系OSでは、各アカウントのパスワードなどの情報を「/etc/passwd」ファイルに保存していました。現在も「/etc/passwd」ファイルにはアカウント情報が保存されているが、暗号化されたパスワードは「/etc/shadow」ファイルに保存され、アクセスは制限されている。一方、「/etc/passwd」ファイルは誰でも閲覧することができる。
etc/passwd」ファイルの中を見るには、次のコマンドを入力します。
less /etc/passwd"Mary "という名前のアカウントの詳細を見てみましょう。
各行はアカウント(または "user "アカウントを持つプログラム)を表し、以下の7つのフィールドがコロンで区切られています。
空のフィールドはコロンで示される。
ちなみに、fingerコマンドはGECOSフィールドから情報を取り出している。
finger mary関連:Linuxでのfingerコマンドの使い方
etc/shadow」ファイルの中を見るには、sudoを使用する必要があります。
sudo less /etc/shadowこのファイルが表示されます。etc/passwd」ファイルの各エントリに対して、「/etc/shadow」ファイルに一致するエントリが存在する必要があります。
各行は、コロンで区切られた9つのフィールドからなるアカウントを表します。
空のフィールドはコロンで示される。
Unixの時代は1970年1月1日に始まった。last changed "フィールドの値は18209であり、これはアカウント "mary "のパスワードが変更された1970年1月1日からの日数である。
last changed "の値を日付として扱うには、このコマンドを使用します。
date -d "1970-01-01 18209 days"日付は、パスワードが最後に変更された日の午前0時で表示されます。この例では、2019年11月9日となっています。
自分のパスワードはpasswdコマンドで変更できますし、sudo権限があれば他の人のパスワードも変更できます。
パスワードを変更する場合は、passwdコマンドをパラメータなしで使用します。
passwd現在のパスワードと新しいパスワードを2回入力する必要があります。
他のアカウントのパスワードを変更するには、sudoを使用して、次のようにアカウント名を指定する必要があります。
sudo passwd maryスーパーユーザー権限を持っていることを確認するために、パスワードを入力する必要があります。アカウントの新しいパスワードを入力し、確認のためにもう一度入力してください。
次回ログイン時に強制的にパスワードを変更させるには、-e (expire) オプションを使用します。
sudo passwd -e maryパスワードの有効期限を変更したことをお知らせしました。
アカウント "mary "の所有者は、次回ログイン時にパスワードを変更する必要があります。
アカウントをロックするには、passwdに-l(ロック)オプションを付けて入力します。
sudo passwd -l maryパスワードの有効期限を変更したことをお知らせしました。
アカウントのロックを解除するには、-u(ロック解除)オプションを使用します: -アカウントの所有者は、彼女のパスワードでコンピュータにログインすることができなくなります。
sudo passwd -u mary改めて、パスワードの有効期限データが変更されたことをお知らせします。
この場合も、アカウントの所有者は、自分のパスワードを使ってコンピューターにログインすることができなくなります。ただし、SSHキーなど、パスワードを必要としない認証方法でのログインは可能です。
本当に誰かをコンピュータから締め出したいのであれば、アカウントを終了させる必要があります。
関連:LinuxシェルからSSH鍵を作成・インストールする方法
chageは "change age "の略で、アカウント全体の有効期限を設定するコマンドです。
現在の「mary」アカウントの設定と、「-l(リスト)」オプションを見てみましょう。
sudo chage -l maryアカウントの有効期限を "Never "に設定する。
有効期限を変更する場合は、-E(expiry)オプションを使用します。ゼロに設定すると、「Unix時代からのゼロ日」、つまり1970年1月1日と解釈されます。
と入力する。
sudo chage -E0 maryアカウントの有効期限を確認する。
sudo chage -l mary有効期限が過ぎているため、このアカウントは所有者が使用した認証方法にかかわらず、本当にロックされていることになります。
アカウントを復元するには、数値パラメータ-1:と同じコマンドを使用します。
sudo chage -E -1 mary次のように入力して、もう一度確認してください。
sudo chage -l maryアカウントの有効期限を "never "にリセットしました。
Ubuntuをはじめとする多くのLinuxディストリビューションは、GNOMEをデフォルトのデスクトップ環境として採用しています。アカウントのパスワードは、設定ダイアログを使って変更することができます。
そのためには、「システム」メニューの中の「設定」アイコンをクリックします。
設定ダイアログボックスで、左側ペインの「詳細」をクリックし、「ユーザー」をクリックします。
パスワードを変更したいアカウントをクリックします。今回は "Mary Quinn" を選択します。アカウントをクリックし、"Unlock" をクリックします。
パスワードの入力を求められます。認証されると、「メアリー」の詳細が編集可能になります。「パスワード」フィールドをクリックします。
パスワードの変更」ダイアログボックスで、「今すぐパスワードを設定する」ラジオボタンをクリックします。
New password" と "Verify new password" の欄に新しいパスワードを入力します。
入力したパスワードが一致すると、「変更」ボタンが緑色に変わり、クリックすると新しいパスワードが保存されます。
他のデスクトップ環境では、アカウント・ツールはGNOMEのものと似ているでしょう。
パスワードは60年もの間、オンライン・アカウントのセキュリティの重要な部分を占めており、今後もすぐになくなることはないでしょう。
だからこそ、賢く管理することが重要なのです。Linux のパスワードの仕組みを理解し、パスワードのベストプラクティスを採用すれば、システムの安全性を保つことができます。