パスワードは、Unix より 10 年近く前から 60 年間、アカウント セキュリティの要となってきました。コマンドラインまたは GNOME デスクトップ環境を使用して Linux でパスワードを管理する方法を学びます。
強力なパスワードを選択する方法
コンピュータのパスワードは必然的に生まれました。 マルチユーザー タイムシェアリング コンピュータ システム の出現により、人々のデータを分離して保護することの重要性が明らかになり、パスワードによってその問題が解決されました。
パスワードは依然としてアカウント認証の最も一般的な形式です。 2 要素認証と多要素 認証はパスワード保護を強化し、 生体認証は 代替の識別方法を提供します。ただし、古き良きパスワードは今も私たちに残されており、今後も長く続くでしょう。つまり、最適な作成方法と使用方法を知る必要があります。古い慣例の中には、もう有効ではないものもあります。
基本的なパスワード規則をいくつか示します。
- パスワードをまったく使用しない : 代わりにパスフレーズを使用します。句読点、記号、または数字で接続された 3 つまたは 4 つの無関係な単語は、意味不明な文字列や 母音を数字に置き換えたパスワード よりも解読がはるかに困難になります。
- パスワードを再利用しない : 同じシステムまたは別のシステムでこれを行わないでください。
- パスワードを共有しないでください : パスワードは非公開です。他の人と共有しないでください。
- 個人的に重要な情報をパスワードのベースにしないでください 。家族の名前、スポーツ チーム、お気に入りのバンド、その他ソーシャル エンジニアリングされたものやソーシャル メディアから推測された可能性のあるものは使用しないでください。
- パターン パスワードを使用しない : qwerty、1q2w3e などのパターンやキーの位置に基づいてパスワードを作成しないでください。
パスワードの有効期限ポリシーはベスト プラクティスではなくなりました。強力で安全なパスフレーズを採用した場合、変更する必要があるのは、侵害された疑いがある場合のみです。多くの人が基本パスワードを使用し、その末尾に日付や数字を追加するだけなので、定期的にパスワードを変更すると、間違ったパスワードの選択が促進されてしまいます。
米国国立標準技術研究所は、 パスワードとユーザーの識別と認証について広範囲に渡って執筆しています。彼らのコメントは 、特別出版物 800-63-3: デジタル認証ガイドライン で公開されています。
パスワードファイル
歴史的に、Unix 系オペレーティング システムは、パスワードと各アカウントに関するその他の情報を「/etc/passwd」ファイルに保存していました。現在でも、「/etc/passwd」ファイルにはアカウント情報が保持されていますが、暗号化されたパスワードはアクセスが制限されている「/etc/shadow」ファイルに保持されています。対照的に、「/etc/passwd」ファイルは誰でも見ることができます。
「/etc/passwd」ファイルの内部を覗くには、次のコマンドを入力します。
/etc/passwd を省略
ファイルの内容が表示されます。 「mary」という名前のこのアカウントの詳細を見てみましょう。
各行は 1 つのアカウント (または「ユーザー」アカウントを持つプログラム) を表します。次の 7 つのコロン区切りフィールドがあります。
- ユーザー名 : アカウントのログイン名。
- パスワード : 「x」は、パスワードが /etc/shadow ファイルに保存されていることを示します。
- ユーザー ID : このアカウントの ユーザー識別子 。
- グループ ID : このアカウントの グループ識別子 。
- GECOS : General Electric Comprehensive Operation Supervisor の略です。現在、 GECOS フィールドには 、アカウントに関するカンマ区切りの一連の情報が保持されています。これには、個人のフルネーム、部屋番号、オフィスや自宅の電話番号などの項目が含まれる場合があります。
- ホーム : アカウントのホーム ディレクトリへのパス。
- シェル : ユーザーがコンピュータにログインすると開始されます。
空のフィールドはコロンで表されます。
ちなみに、
finger
コマンドは GECOS フィールドから情報を取得します。
フィンガーメアリー
シャドウファイル
「/etc/shadow」ファイルの内部を調べるには、
sudo
を使用する必要があります。
sudo を省略して /etc/shadow
ファイルが表示されます。 「/etc/passwd」ファイル内のすべてのエントリについて、「/etc/shadow」ファイル内に一致するエントリが存在する必要があります。
各行は 1 つのアカウントを表し、コロンで区切られた 9 つのフィールドがあります。
- ユーザー名 : アカウントのログイン名。
- 暗号化されたパスワード : アカウントの暗号化されたパスワード。
- 最終変更 : パスワードが最後に変更された日付。
- 最小日数 : パスワードを変更するまでに必要な最小日数。ユーザーは、パスワードを変更できるようになるまで、この日数待つ必要があります。このフィールドにゼロが含まれている場合、パスワードは何度でも変更できます。
- 最大日数 : パスワードを変更するまでに必要な最大日数。通常、このフィールドには非常に大きな数値が含まれます。 「mary」に設定された値は 99,999 日で、これは 27 年以上です。
- アラート日数 : パスワードの有効期限の何日前にリマインダー メッセージを表示するかを指定します。
- ロックアウトのリセット : パスワードの有効期限が切れた後、システムはこの日数 (猶予期間) 待機してからアカウントを無効にします。
- アカウントの有効期限 : アカウントの所有者がログインできなくなる日付。このフィールドが空白の場合、アカウントは期限切れになりません。
- 予約フィールド : 将来の使用に備えて空白のフィールド。
空のフィールドはコロンで表されます。
「最終変更」フィールドを日付として取得する
Unix エポックは 1970 年 1 月 1 日に始まりました。「最終変更」フィールドの値は 18,209 です。これは、1970 年 1 月 1 日からアカウント「mary」のパスワードが変更されてからの日数です。
「最終変更」値を日付として表示するには、次のコマンドを使用します。
date -d "1970-01-01 18209 日"
日付は、パスワードが最後に変更された日の午前 0 時として表示されます。この例では、2019 年 11 月 9 日でした。
passwdコマンド
passwd
コマンドを使用して
、自分のパスワードを変更します。
また、
sudo
権限がある場合は、他の人のパスワードも変更します。
パスワードを変更するには、パラメーターを指定せずに
passwd
コマンドを使用します。
パスワード
現在のパスワードと新しいパスワードを 2 回入力する必要があります。
他人のパスワードを変更する
別のアカウントのパスワードを変更するには、
sudo
を使用し、アカウントの名前を指定する必要があります。
sudoパスワードメアリー
スーパーユーザー権限があることを確認するには、パスワードを入力する必要があります。アカウントの新しいパスワードを入力し、確認のためにもう一度入力します。
パスワードの強制変更
次回ログイン時にパスワードの変更を強制するには、
-e
(期限切れ) オプションを使用します。
sudo passwd -e メアリー
パスワードの有効期限が変更されたことが通知されます。
アカウントの所有者「mary」が次にログインするとき、パスワードを変更する必要があります。
アカウントをロックする
アカウントをロックするには、
-l
(ロック) オプションを指定して
passwd
と入力します。
sudo passwd -l メアリー
パスワードの有効期限が変更されたことが通知されます。
アカウントの所有者は、自分のパスワードを使用してコンピュータにログインできなくなります。アカウントのロックを解除するには、
-u
(ロック解除) オプションを使用します。
sudo passwd -u Mary
再度、パスワードの有効期限データが変更されたことが通知されます。
繰り返しますが、アカウントの所有者は自分のパスワードを使用してコンピュータにログインできなくなります。ただし、SSH キーなど、パスワードを必要としない認証方法を使用してログインすることはできました。
本当に誰かをコンピュータからロックアウトしたい場合は、アカウントを期限切れにする必要があります。
変更コマンド
いいえ、
chage
には「n」はありません。 「変化する時代」の略です。
chage
コマンドを使用すると、
アカウント全体の有効期限
を設定できます。
-l
(リスト) オプションを使用して、「mary」アカウントの現在の設定を見てみましょう。
sudo chage -l mary
アカウントの有効期限は「無期限」に設定されています。
有効期限を変更するには、
-E
(有効期限) オプションを使用します。これをゼロに設定すると、「Unix エポックからゼロ日」、つまり 1970 年 1 月 1 日として解釈されます。
次のように入力します。
sudo チャゲ -E0 mary
アカウントの有効期限を再確認します。
sudo chage -l mary
有効期限が過ぎているため、所有者が使用する認証方法に関係なく、このアカウントは完全にロックされています。
アカウントを復元するには、数値パラメータとして -1 を指定して同じコマンドを使用します。
sudo チャゲ -E -1 メアリー
次を入力して再確認します。
sudo chage -l mary
アカウントの有効期限は「無期限」にリセットされます。
GNOME でのアカウントのパスワードの変更
Ubuntu および他の多くの Linux ディストリビューションは、デフォルトのデスクトップ環境として GNOME を使用します。 「設定」ダイアログを使用して、アカウントのパスワードを変更できます。
これを行うには、システム メニューで [設定] アイコンをクリックします。
[設定]ダイアログの左側のペインで[詳細]をクリックし、[ユーザー]をクリックします。
パスワードを変更するアカウントをクリックします。この例では、「メアリー クイン」を選択します。アカウントをクリックし、「ロック解除」をクリックします。
パスワードの入力を求められます。認証されると、「メアリー」の詳細が編集可能になります。 「パスワード」フィールドをクリックします。
「パスワードの変更」ダイアログで、「今すぐパスワードを設定する」ラジオボタンをクリックします。
「新しいパスワード」フィールドと「新しいパスワードの確認」フィールドに新しいパスワードを入力します。
パスワードの入力が一致すると、「変更」ボタンが緑色に変わります。それをクリックして新しいパスワードを保存します。
他のデスクトップ環境では、アカウント ツールは GNOME のものと似ています。
安全を確保、安全を確保
60 年間、パスワードはオンライン アカウントのセキュリティに不可欠な要素であり、すぐに廃止されることはありません。
このため、それらを賢く管理することが重要です。 Linux のパスワードのメカニズムを理解し、パスワードのベスト プラクティスを採用すれば、システムを安全に保つことができます。
関連: 開発者と愛好家のための最高の Linux ラップトップ





