この記事では、基本的なLinux®サーバーのユーザー管理のオプションについて説明します。 Linuxサーバーでユーザーを追加、削除、ロック、期限切れ、および変更する方法を示します。
次の前提条件が必要です。
- Secure Shell(SSH)の基本的な理解。
- サーバーへのsudoまたは管理アクセス。管理ユーザーは、次の記事を参照できます。
- RHEL®およびCentOS®でsudoアクセスを許可する
- DebianおよびUbuntuオペレーティングシステムでsudoアクセスを許可する
- サポートされているバージョンのLinuxを実行しているクラウドサーバー。
SSHを使用してサーバーにログインし、次のセクションの手順を実行してアクションを実行します。
次の手順を使用して、デフォルト設定でLinuxサーバーに基本ユーザーを追加します。
-
次のコマンドを実行して、ユーザーを作成します。
useradd <user>
-
ユーザーのパスワードを設定します:
passwd <some-secure-password>
useradd
では、次の一般的なフラグを使用できます 新しいユーザーの構成を指定するコマンド:
-
-G
、--groups <group_names>
:新しいアカウントをグループに追加する -
-d
、--home-dir <home_directory>
:新しいアカウントのホームディレクトリを設定する -
-s
、--shell <shell_name>
:新しいアカウントのログインシェルを設定する
たとえば、次の例に示すように、ユーザーを作成してホームディレクトリ、ログインシェルを指定し、ユーザーを補足グループに追加することもできます。
useradd -d /home/nonDefaultHome/ -s /bin/bash -G developers <newuser>
このコマンドは、ホームディレクトリが / home / nonDefaultHome /の新しいユーザーを作成します および/bin/bash/
シェル。このコマンドは、このユーザーをグループdevelopersにも追加します 。
次のコマンドを使用して、新しいユーザーをカスタマイズするための他のオプションを確認できます。
useradd --help
サーバーへのユーザーのアクセスを無効にする必要がある場合は、Linuxuserアカウントを期限切れにするか、ロックすることができます。
ユーザーをロックすると、ユーザーのパスワードが読み取り不可能な文字列に変更されます。これにより、ユーザーはパスワード認証を使用してログインできなくなります。次のコマンドを使用して、Linuxユーザーアカウントをロックします。
passwd -l <user>
次のコマンドを使用して、ユーザーが正常にロックされたことを確認できます。
passwd -S <user>
ユーザーが正常にロックされると、次のメッセージが表示されます。
<user> LK <date> 0 99999 7 -1 (Password locked.)
ユーザーのロックを解除する必要がある場合は、次のコマンドを使用します。
passwd -u <user>
次のコマンドを使用して、ユーザーのロックが解除されていることを確認できます。
passwd -S <user>
コマンドが成功すると、次のメッセージが表示されます。
<user> PS <date> 0 99999 7 -1 (Password set, SHA512 crypt.)
ユーザーをロックするとパスワードアクセスが無効になりますが、このオプションではSSHキー認証などの他の形式の認証は無効になりません。ユーザーのアクセスを完全に無効にするには、次のコマンドを使用してアカウントを期限切れにします。
usermod -e $(date '+1970-01-01') <user>
注 :このコマンドは、1970年1月1日の日付でユーザーを期限切れにします。日付セクションを次のように置き換えることで、有効期限を現在の日付に設定することもできます。$(date '+%Y-%m-%d')
次のコマンドを実行して、ユーザーが正常に期限切れになったことを確認できます。
chage -l <user>
次の出力がユーザーに表示されます:
Last password change : Apr 20, 2020
Password expires : never
Password inactive : never
Account expires : Jan 01, 1970
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
サーバー上のユーザーの有効期限を解除する必要がある場合は、次のコマンドを実行します。
usermod -e -1 <user>
ユーザーの有効期限が切れていないことを確認するには、次のコマンドを実行します。
chage -l <user>
次の出力がユーザーに表示されます:
Last password change : Apr 20, 2020
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Linuxユーザーが不要であることが確実な場合は、サーバーからユーザーを削除できます。
注 :これによってユーザーのホームディレクトリが削除されることはありませんが、サーバーの所有権やその他の権限に問題が発生する可能性があります。ユーザーを削除する前に、ユーザーを削除してもサーバー上のアプリケーションが破損しないことを確認してください。
サーバー上のユーザーを削除するには、次のコマンドを実行します。
userdel <user>
次のコマンドを使用して、ユーザーが削除されたことを確認できます。
getent passwd <user>
ユーザーが正常に削除された場合、ユーザーは / etc / passwd 内に存在しないため、出力を受け取ることはありません。 ファイル。