Linuxシステム管理者は多くの課題に直面しており、現在進行中の課題の1つはユーザーアカウントの処理です。オンボーディング、オフボーディング、パスワードの管理、アカウントの無効化、アカウントの有効化、ホームディレクトリの内容の保持、権限の修正は、実行する必要があるタスクですが、実行するのも面倒です。この記事では、ローカルシステムでユーザーアカウントを管理するための簡単なソリューションを提供します。もちろん、Active Directory、LDAP、NIS +はありますが、これらを使用しない私たちの多くのようにしたらどうでしょうか。ジョブを処理するには、ネイティブメソッドに依存する必要があります。
信じられないかもしれませんが、ユーザー管理タスクの大部分を処理するために必要なコマンドはわずかです。たとえば、passwd
を使用します コマンドを使用してパスワードを設定および変更しますが、ユーザーアカウントのステータスの確認、パスワードの有効期限の切れ、パスワードの最小有効期間と最大有効期間の設定、ユーザーアカウントの無効化、ユーザーアカウントの有効化にも使用されます。
ユーザーアカウントの作成
useradd
commandは、ユーザーアカウントを作成するためのコマンドラインフレンドです。簡単なman
useradd
あなたが望むことができるすべてのオプションを提供します。私は通常、-c
という1つのオプションのみを使用します (コメント)、ユーザーのフルネームを入力します。オプションでパスワードやその他のパラメータを設定することもできますが、アカウントがそれぞれ異なるため、設定しません。アカウントを作成し、パスワードを設定し、その他のオプションを設定してから、ユーザーに連絡して、アカウントの準備ができたことを通知します。
構文は単純です:
$ useradd -c "User's Full Name" account_name
$ sudo useradd -c "Mary Jones" mjones$
passwd mjones
Changing password for user mjones.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
入力しやすい新しいユーザーに一般的なパスワードを使用すると、パスワードが標準の要件を満たしていないことを警告するメッセージが表示されます。あなたはrootユーザーなので、このエラーを回避することはできますが、通常のユーザーは回避できません:
$ passwd mjones
Changing password for user mjones.
New password:
BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.
新しいユーザーアカウントを作成し、それにパスワードを割り当てるのはこれですべてです。 passwd
をご覧ください 次のセクションで魔法を命令します。
用途の広いpasswd
の発見 コマンド
前に述べたように、passwd
コマンドは、単にパスワードを変更するだけではありません。これは、利用可能な最も用途の広いLinuxコマンドの1つです。 passwd
の便利な例をいくつか紹介します。 ユーザー管理のためにできる。
ユーザーアカウントのステータスを確認するには、この形式を使用します。
$ passwd -S account_name
例:
$ sudo passwd -S msmith
msmith PS 2019-11-11 0 99999 7 -1 (Password set, SHA512 crypt.)
PS
ユーザーmsmith
のパスワードを意味します が設定されていますが、表示されるメッセージからも確認できます。古いバージョンのpasswd
同じ記号を使用しませんでした。たとえば、文字P
パスワードセットに単独で使用されました 。表示される日付は、パスワードが最後に変更されたとき、またはパスワードが設定されたときです。
パスワードの有効期限が切れている場合は、次のメッセージが表示されます。
$ sudo passwd -S djones
djones PS 1969-12-31 0 99999 7 -1 (Password set, SHA512 crypt.)
パスワードの最終変更時刻が1969年12月31日であることがわかります。 LinuxまたはUNIXの履歴を知っている場合は、コンピューティングの世界の始まりが1970-01-01であったことを認識しているため、最後に変更された時刻をエポック時刻の外側に設定すると、パスワードの有効期限が切れます。
アカウントのパスワードを変更せずに新しいユーザーアカウントを作成すると、次のパスワードステータスになります。
$ sudo passwd -S smithm
smithm LK 2019-11-11 0 99999 7 -1 (Password locked.)
LK
指定は、メッセージが示すように、アカウントがロックされていることを意味します。繰り返しになりますが、この最新バージョンのpasswd
より前 コマンド、そのメッセージは存在しませんでした。実際、man passwd
を使用する場合 、古い指定も表示されます:L
、NP
、およびP
。
パスワードを期限切れにするには:
$ sudo passwd -e msmith
Expiring password for user msmith.
passwd: Success
ステータスチェックにより、msmith
の期限切れのパスワードが確認されます :
$ sudo passwd -S msmith
msmith PS 1969-12-31 0 99999 7 -1 (Password set, SHA512 crypt.)
ポリシーまたは手動でパスワードの有効期限が切れると、パスワードの有効期限を解除することはできません。システムは、次回のログイン時にパスワードを変更するようにユーザーに促します。
また、パスワードが設定されていないアカウントのロックを解除することはできません。新しいユーザーアカウントを作成し、パスワードを設定しない場合、アカウントはロックされます。ロックを解除するには、パスワードを設定する必要があります。
passwd
を使用して、ユーザーのアカウントをロックできます コマンドの-l
オプション:
$ sudo passwd -S mjones
mjones PS 2019-11-11 0 99999 7 -1 (Password set, SHA512 crypt.)
$ sudo passwd -l mjones
Locking password for user mjones.
passwd: Success
$ sudo passwd -S mjones
mjones LK 2019-11-11 0 99999 7 -1 (Password locked.)
アカウントのロックを解除するには、passwd
を使用します コマンドの-u
オプション:
$ sudo passwd -u mjones
Unlocking password for user mjones.
passwd: Success
$ sudo passwd -S mjones
mjones PS 2019-11-11 0 99999 7 -1 (Password set, SHA512 crypt.)
次のフラグを使用して、パスワードの最小有効期間を設定します(-n
)、パスワードの最大有効期間(-x
)、有効期限前の警告(-w
)、非アクティブから無効(-i
)それぞれの日数。オプションの順序は重要ではありません:
$ sudo passwd -n 1 -x 90 -w 3 -i 10 djones
Adjusting aging data for user djones.
passwd: Success
$ sudo passwd -S djones
djones PS 2020-12-31 1 90 3 10 (Password set, SHA512 crypt.)
-n
を設定するのは良いことです これにより、ユーザーがパスワードを繰り返し変更することが防止されるため、少なくとも1日は有効です。
passwd
に改めて感謝します。 指図。パスワードの変更にのみ使用したことがある場合は、多くの機能と機能を見逃していることになります。
[もっとお探しですか? Linuxユーザーと権限のチートシートにも興味があるかもしれません。]
ユーザーアカウントの削除
ユーザーアカウントの削除は少し厄介な問題です。それが厄介な問題である理由は、ユーザーアカウントの削除が永続的であるためです。削除すると、なくなります。通常、企業のポリシーでは、アカウントを一定期間無効にし、ユーザーのホームディレクトリをアーカイブ用の安全な場所にコピーしてから、待機時間の後にアカウントを削除します。
システムからユーザーアカウントを削除すると、すべてのトレースが失われます。アカウントは/etc/passwd
から削除されます また、ホームディレクトリも削除されます。この抜本的な変更を行うには、userdel
を使用します -r
を使用したコマンド 次の形式のオプション:
$ userdel -r account_name
例:
$ sudo userdel -r djones
通常のUNIXおよびLinuxの方法では、アカウントとユーザーのすべてのトレースがシステムから消去されたことを通知するダイアログはありません。 userdel
の後 コマンドが完了すると、プロンプトに戻ります。
まとめ
ユーザーアカウントの管理は、システム管理者になることの多くの喜びの1つにすぎません。忙しい企業ではかなりの時間を消費する可能性があります。ただし、小規模な環境では、すぐにすべてのpasswd
を忘れてしまう可能性があります。 コマンドオプションを使用して、アカウントを手動で削除することを決定します。
この記事をブックマークしておいて、アカウントを手動で削除しないことをお勧めします。途中で何かを忘れてしまう可能性があります。また、コマンドを1つか2つファットフィンガーして、削除する予定よりも多くを削除する可能性もあります。 passwd
ファイルとそれに対応する/etc/shadow
キーボードの効率にどれほど自信があるとしても、ファイルは重要すぎて編集を偶然に任せることはできません。
要点: useradd
、 userdel
、 passwd
[Red Hat Enterprise Linuxを試してみませんか?今すぐ無料でダウンロードしてください。]