FreeBSDでユーザーを追加および削除する方法
序章
FreeBSDでは、他のUnixライクなOSと同様に、システムへのインタラクティブなアクセスを提供するためにユーザーアカウントを作成できます。 ユーザーアカウントは、適切に管理されると、タスクを実行するために必要なファイルとディレクトリのみへの個々のユーザーのアクセスを制限する方法を提供することにより、システムセキュリティのレイヤーを追加できます。
このチュートリアルでは、FreeBSDサーバーで以下のユーザー管理タスクを実行する方法を示します。
- ユーザーを追加する
- スーパーユーザー権限を付与する
- ユーザーを削除する
- ユーザーアカウントをロックする
- ユーザーアカウントのロックを解除する
前提条件
このチュートリアルに従うには、FreeBSDサーバーへのrootアクセス権が必要です。 つまり、sudo
コマンドを使用して、rootまたはスーパーユーザー権限を持つ別のユーザーとしてサーバーにログインできる必要があります。 rootの使用を計画している場合は、サンプルコマンドのsudo
の部分を省略できます。
ユーザーを追加する方法
新しいユーザーを追加する最も簡単な方法は、pw
コマンドに基づく提供されているadduser
ユーティリティを使用することです。 adduser
コマンドは、passwd
、master.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]
はデフォルト値を示しますが、ここで説明する重要なプロンプトがいくつかあります。
- ユーザー名:これはかなり自明です。 新しいユーザーの希望する名前を入力します
ログイングループは :このフィールドでは、スペースで区切られたリストに目的のグループを指定することにより、ユーザーを追加のグループに追加できます。 これの最も一般的な使用法は、スーパーユーザー(sudo)特権を。 招待 他のグループに? wheel
グループに追加することによって新しいユーザーに付与することです。FreeBSDでは、wheel
グループのメンバーはスーパーユーザー特権でコマンドを実行できます。 。 通常の(特権のない)ユーザーを作成する場合は、これを空白のままにすることができます
この時点までの他のすべてのプロンプトはかなり自明であり、パスワードプロンプトを除いて、デフォルトのままにしておくことができます。 もちろん、ユーザーの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サーバーでの基本的なユーザー管理について十分に理解できたはずです。