開発者ドキュメント

FreeBSDでユーザーを追加および削除する方法

序章

FreeBSDでは、他のUnixライクなOSと同様に、システムへのインタラクティブなアクセスを提供するためにユーザーアカウントを作成できます。 ユーザーアカウントは、適切に管理されると、タスクを実行するために必要なファイルとディレクトリのみへの個々のユーザーのアクセスを制限する方法を提供することにより、システムセキュリティのレイヤーを追加できます。

このチュートリアルでは、FreeBSDサーバーで以下のユーザー管理タスクを実行する方法を示します。

前提条件

このチュートリアルに従うには、FreeBSDサーバーへのrootアクセス権が必要です。 つまり、sudoコマンドを使用して、rootまたはスーパーユーザー権限を持つ別のユーザーとしてサーバーにログインできる必要があります。 rootの使用を計画している場合は、サンプルコマンドのsudoの部分を省略できます。

ユーザーを追加する方法

新しいユーザーを追加する最も簡単な方法は、pwコマンドに基づく提供されているadduserユーティリティを使用することです。 adduserコマンドは、passwdmaster.passwd、およびgroupファイルに必要な追加を行い、新しいユーザーのホームディレクトリを作成することにより、システムにユーザーを追加します。 。 これは、新しいユーザーに関する情報を収集するためのプロンプトを使用して対話的に実行することも、非対話的に実行することもできます。これは、ユーザーのバッチを追加する場合に適しています。 インタラクティブモードでの使用について説明します。

インタラクティブモードadduserを使用してユーザーを追加するには、一度に1人のユーザーを作成でき、次のような引数なしでコマンドを実行するだけです。

sudo adduser

この時点で、一連のプロンプトに応答して、新しいユーザーに関する情報を提供する必要があります。 プロンプトの例を見てみましょう。応答の例は赤で示されています。

Username: sammy
Full name: Sammy Shark
Uid (Leave empty for default):
Login group [sammy]:
Login group is sammy. Invite sammy into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/sammy]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password: password
Enter password again: password
Lock out the account after creation? [no]:

プロンプトの多くは空のままにしてデフォルトの応答を選択できます。たとえば、角かっこ[yes]はデフォルト値を示しますが、ここで説明する重要なプロンプトがいくつかあります。

この時点までの他のすべてのプロンプトはかなり自明であり、パスワードプロンプトを除いて、デフォルトのままにしておくことができます。 もちろん、ユーザーのUidディレクトリやホームディレクトリなど、その他の詳細を変更する必要がある場合は、デフォルト以外の応答を自由に提供してください。 プロンプトの詳細な説明を探している場合は、man adduserを実行して詳細を確認してください。

プロンプトに応答すると、新しいユーザーの概要が表示されます。

Username   : sammy
Password   : *****
Full Name  : Sammy Shark
Uid        : 1002
Class      :
Groups     : sammy wheel
Home       : /home/sammy
Home Mode  :
Shell      : /bin/sh
Locked     : no
OK? (yes/no): yes

ユーザー情報を確認した後、 OK?プロンプトにyesまたはnoで応答します。 応答によって、ユーザーが作成されたかどうかが決まります。

yesと応答すると、ユーザーが作成され、確認が提供されます。

adduser: INFO: Successfully added (sammy) to the user database.

ユーザーを作成するかどうかに関係なく、次のプロンプトが表示されます。

Add another user? (yes/no): no
Goodbye!

終了したら、noで応答します。 それ以外の場合は、yesで応答し、プロセスを繰り返して追加の新しいユーザーを作成します。

この時点で、作成したユーザーを使用できます。 セキュリティを強化するためにSSHキー認証を設定することをお勧めします— このチュートリアルをチェックして、方法を確認してください。

sudo特権を付与する方法

FreeBSDでは、他のUnixライクなOSと同様に、sudoコマンドを介してスーパーユーザー特権でコマンドを実行する機能をユーザーに付与できます。 sudoコマンドを使用すると、ユーザーは別のユーザーとしてコマンドを実行できます。 通常のユーザーにスーパーユーザー権限を付与して、rootとしてコマンドを効果的に実行できるようにする方法を説明します。

FreeBSDでは、wheelグループのメンバーであるユーザーはsudoを使用できます。 これは、デフォルトのsudoersファイルの次の行/usr/local/etc/sudoersが原因です。

%wheel ALL=(ALL) NOPASSWD: ALL

したがって、スーパーユーザー権限を持つ通常のユーザーを付与する1つの方法は、ユーザーをwheelグループに追加することです。 wheelグループにユーザーを追加するには、次のpw groupmodコマンドを使用します(強調表示されたユーザー名を置き換えます)。

sudo pw groupmod wheel -m sammy

このコマンドは、指定されたユーザーを/etc/groupファイルのwheelグループに追加し、スーパーユーザーとしてコマンドを実行する機能をユーザーに付与します。

ユーザーを削除する方法

FreeBSDシステムからユーザーを削除する簡単な方法は、rmuserコマンドを使用することです。 引数なしで実行するか、削除するユーザーを引数として渡し、プロンプトに従ってユーザー削除プロセスを完了することができます。

sudo rmuser

引数としてユーザー名を指定しない場合は、1つ以上の入力を求められます。 次に、確認するかどうか、およびユーザーのホームディレクトリを削除する必要があるかどうかを確認するように求められます。

Please enter one or more usernames: sammy
Matching password entry:

sammy:*:1002:1002::0:0:Sammy Shark:/home/sammy:/bin/sh

Is this the entry you wish to remove? y
Remove user's home directory (/home/sammy)? y
Removing user (sammy): mailspool home passwd.

ユーザーアカウントをロックする方法

ユーザーのシステムへのアクセスを無効にし、アカウントレコードとホームディレクトリを削除したくない場合は、アカウントをロックできます。 ユーザーを無効にする最も簡単な方法は、次のように、無効にするユーザーを引数としてpw lockコマンドを使用することです。

sudo pw lock username

このコマンドは、/etc/master.passwdファイルのユーザーのエントリの前に「*LOCKED*」を付けることで機能します。

アカウントのロックが解除されるまで、ユーザーはログインできません。

ユーザーのロックを解除する方法

pw lockで無効にされたユーザーを有効にする場合は、pw unlockコマンドを使用して有効にすることができます。

sudo pw unlock username

このコマンドは、/etc/master.passwdファイルのユーザーエントリから「*LOCKED *」(存在する場合)を削除することで機能します。

結論

これで、FreeBSDサーバーでの基本的なユーザー管理について十分に理解できたはずです。

モバイルバージョンを終了