[linux] useraddコマンドの使い方 – ユーザーを追加する

useraddコマンドは、Linuxシステムに新しいユーザーを追加するために使用されます。

基本的な使い方は、useradd [オプション] ユーザー名です。

例えば、useradd usernameと入力すると、指定したユーザー名で新しいユーザーが作成されます。

オプションとして、-mでホームディレクトリを作成し、-sでログインシェルを指定できます。

ユーザー作成後、passwd usernameでパスワードを設定する必要があります。

この記事でわかること
  • useraddコマンドの基本的な使い方
  • 各種オプションの活用法
  • ユーザー追加の応用例
  • トラブルシューティングの方法
  • ユーザー管理の重要性

目次から探す

useraddコマンドとは

useraddコマンドは、LinuxやUnix系のオペレーティングシステムにおいて、新しいユーザーアカウントを作成するためのコマンドです。

このコマンドを使用することで、システム管理者は新しいユーザーを簡単に追加し、必要に応じてそのユーザーの設定をカスタマイズすることができます。

useraddコマンドは、ユーザーのホームディレクトリやログインシェル、ユーザーID(UID)などの情報を指定することができ、これによりユーザーの環境を整えることが可能です。

特に、複数のユーザーを一度に追加する場合や、特定の設定を持つユーザーを作成する際に非常に便利です。

システムのセキュリティや管理の観点からも、適切なユーザー管理は重要な要素となります。

useraddコマンドの基本的な使い方

ユーザーの追加方法

useraddコマンドを使用して新しいユーザーを追加する基本的な構文は以下の通りです。

sudo useradd ユーザー名

例:sudo useradd taro

このコマンドを実行すると、taroという名前の新しいユーザーが作成されます。

ホームディレクトリの作成

新しいユーザーを追加する際に、ホームディレクトリを自動的に作成するには、-mオプションを使用します。

sudo useradd -m ユーザー名

例:sudo useradd -m taro

このコマンドを実行すると、/home/taroというホームディレクトリが作成されます。

ログインシェルの指定

ユーザーのログインシェルを指定するには、-sオプションを使用します。

デフォルトでは、通常は/bin/bashが設定されます。

sudo useradd -s /bin/zsh ユーザー名

例:sudo useradd -s /bin/zsh taro

このコマンドを実行すると、taroユーザーのログインシェルがzshに設定されます。

ユーザーIDとグループIDの指定

ユーザーID(UID)やプライマリグループID(GID)を指定するには、-uおよび-gオプションを使用します。

sudo useradd -u UID -g GID ユーザー名

例:sudo useradd -u 1001 -g 1001 taro

このコマンドを実行すると、UIDとGIDがそれぞれ1001に設定されたtaroユーザーが作成されます。

パスワードの設定

ユーザーを追加した後、パスワードを設定するには、passwdコマンドを使用します。

sudo passwd ユーザー名

例:sudo passwd taro

このコマンドを実行すると、taroユーザーのパスワードを設定するためのプロンプトが表示されます。

ユーザー情報の確認

追加したユーザーの情報を確認するには、idコマンドを使用します。

id ユーザー名

例:id taro

このコマンドを実行すると、taroユーザーのUID、GID、所属グループなどの情報が表示されます。

useraddコマンドのオプション

-mオプション:ホームディレクトリの作成

-mオプションを使用すると、新しいユーザーのためにホームディレクトリを自動的に作成します。

これにより、ユーザーがログインした際に自分のファイルを保存するための場所が確保されます。

sudo useradd -m taro

-sオプション:ログインシェルの指定

-sオプションを使用して、ユーザーのログインシェルを指定できます。

デフォルトでは/bin/bashが設定されますが、他のシェルを指定することも可能です。

sudo useradd -s /bin/zsh taro

-uオプション:ユーザーIDの指定

-uオプションを使用すると、新しいユーザーに特定のユーザーID(UID)を割り当てることができます。

UIDはシステム内で一意である必要があります。

sudo useradd -u 1001 taro

-gオプション:プライマリグループの指定

-gオプションを使用して、新しいユーザーのプライマリグループを指定できます。

指定したグループがそのユーザーのデフォルトのグループになります。

sudo useradd -g users taro

-Gオプション:サブグループの指定

-Gオプションを使用すると、ユーザーを追加のグループに所属させることができます。

複数のグループを指定する場合は、カンマで区切ります。

sudo useradd -G admin,dev taro

-dオプション:カスタムホームディレクトリの指定

-dオプションを使用して、ユーザーのホームディレクトリをカスタムのパスに指定できます。

これにより、デフォルトの/home/ユーザー名以外の場所にホームディレクトリを作成できます。

sudo useradd -d /custom/path/taro taro

-eオプション:アカウントの有効期限設定

-eオプションを使用すると、ユーザーアカウントの有効期限を設定できます。

指定した日付以降は、そのユーザーはログインできなくなります。

日付はYYYY-MM-DD形式で指定します。

sudo useradd -e 2023-12-31 taro

-fオプション:パスワードの有効期限設定

-fオプションを使用すると、ユーザーのパスワードの有効期限を設定できます。

このオプションを使用すると、指定した日数が経過した後にパスワードの変更が必要になります。

sudo useradd -f 30 taro

これにより、taroユーザーは30日後にパスワードを変更する必要があります。

useraddコマンドの応用例

複数のユーザーを一括で追加する方法

複数のユーザーを一度に追加するには、シェルスクリプトを使用するのが便利です。

以下のように、ユーザー名をリストにしてループ処理を行います。

for user in user1 user2 user3; do
    sudo useradd -m "$user"
done

このスクリプトを実行すると、user1user2user3の3人のユーザーが一括で作成されます。

特定のグループにユーザーを追加する方法

新しいユーザーを特定のグループに追加するには、-gオプションを使用します。

以下の例では、developersグループにtaroユーザーを追加します。

sudo useradd -m -g developers taro

このコマンドを実行すると、taroユーザーはdevelopersグループに所属します。

ユーザーのアカウントを期限付きで作成する方法

ユーザーアカウントを期限付きで作成するには、-eオプションを使用します。

以下の例では、taroユーザーのアカウントを2023年12月31日まで有効にします。

sudo useradd -m -e 2023-12-31 taro

このコマンドを実行すると、taroユーザーは指定した日付以降にログインできなくなります。

カスタムスクリプトを使ったユーザー作成の自動化

ユーザー作成を自動化するために、カスタムスクリプトを作成することができます。

以下は、ユーザー名とグループを指定してユーザーを作成するスクリプトの例です。

#!/bin/bash
for user in "$@"; do
    sudo useradd -m -g users "$user"
    echo "ユーザー $user を作成しました。"
done

このスクリプトをcreate_users.shとして保存し、実行時にユーザー名を引数として渡すことで、複数のユーザーを簡単に作成できます。

ユーザー作成時にデフォルト設定を変更する方法

useraddコマンドのデフォルト設定を変更するには、/etc/default/useraddファイルを編集します。

このファイルには、ユーザー作成時のデフォルトのホームディレクトリやシェルなどの設定が含まれています。

例えば、デフォルトのシェルを/bin/zshに変更するには、以下のようにファイルを編集します。

sudo nano /etc/default/useradd

ファイル内のSHELL行を以下のように変更します。

SHELL=/bin/zsh

これにより、今後作成するユーザーのデフォルトシェルがzshになります。

useraddコマンドのトラブルシューティング

ホームディレクトリが作成されない場合の対処法

useraddコマンドを使用してユーザーを追加した際に、ホームディレクトリが作成されない場合は、以下の点を確認してください。

  • -mオプションの使用: ホームディレクトリを作成するためには、-mオプションを指定する必要があります。

コマンドが正しく記述されているか確認してください。

sudo useradd -m taro
  • /etc/skelディレクトリの存在: ホームディレクトリが作成される際に、/etc/skelディレクトリの内容がコピーされます。

このディレクトリが存在しない場合、ホームディレクトリが作成されないことがあります。

  • 権限の確認: /homeディレクトリや/etc/skelディレクトリの権限が適切でない場合、ホームディレクトリが作成できないことがあります。

権限を確認し、必要に応じて修正してください。

ユーザーがログインできない場合の確認事項

ユーザーがログインできない場合、以下の点を確認してください。

  • アカウントの有効期限: -eオプションを使用してアカウントの有効期限を設定した場合、期限が切れていないか確認します。

期限が切れているとログインできません。

  • パスワードの設定: ユーザーにパスワードが設定されていない場合、ログインできません。

passwdコマンドを使用してパスワードを設定してください。

sudo passwd taro
  • ログインシェルの確認: ユーザーのログインシェルが無効なシェルに設定されている場合、ログインできないことがあります。

/etc/shellsにリストされているシェルを確認し、適切なシェルを指定してください。

パスワード設定ができない場合の原因と対策

パスワード設定ができない場合、以下の原因が考えられます。

  • 権限の不足: passwdコマンドを実行する際に、適切な権限がない場合、パスワードを設定できません。

sudoを使用してコマンドを実行してください。

sudo passwd taro
  • パスワードポリシーの制約: システムに設定されているパスワードポリシー(最小文字数、特殊文字の使用など)に違反している場合、パスワードの設定が拒否されることがあります。

ポリシーを確認し、適切なパスワードを設定してください。

  • アカウントのロック: ユーザーアカウントがロックされている場合、パスワードを設定できません。

usermodコマンドを使用してアカウントのロックを解除してください。

sudo usermod -U taro

これらの確認事項をチェックすることで、useraddコマンドに関連するトラブルを解決できる可能性が高まります。

よくある質問

useraddコマンドでユーザーを追加した後、すぐにログインできますか?

useraddコマンドでユーザーを追加した後、すぐにログインできるかどうかは、いくつかの条件によります。

ユーザーを追加した際にパスワードを設定していない場合、ログインはできません。

ユーザーを追加した後、必ずpasswdコマンドを使用してパスワードを設定する必要があります。

  • 例:
sudo passwd ユーザー名

useraddコマンドで作成したユーザーのパスワードはどうやって設定しますか?

useraddコマンドで作成したユーザーのパスワードを設定するには、passwdコマンドを使用します。

以下の手順でパスワードを設定できます。

  1. ターミナルを開きます。
  2. 次のコマンドを実行します。
sudo passwd ユーザー名
  1. 新しいパスワードを入力し、確認のため再度入力します。

これにより、指定したユーザーのパスワードが設定されます。

useraddコマンドで作成したユーザーを削除するにはどうすればいいですか?

useraddコマンドで作成したユーザーを削除するには、userdelコマンドを使用します。

以下の手順でユーザーを削除できます。

  1. ターミナルを開きます。
  2. 次のコマンドを実行します。
sudo userdel ユーザー名

このコマンドを実行すると、指定したユーザーがシステムから削除されます。

もし、そのユーザーのホームディレクトリも同時に削除したい場合は、-rオプションを追加します。

  • 例:
sudo userdel -r ユーザー名

これにより、ユーザーとそのホームディレクトリが同時に削除されます。

まとめ

この記事では、useraddコマンドを使用して新しいユーザーを追加する方法や、そのオプションについて詳しく解説しました。

また、ユーザー作成時のトラブルシューティングや応用例についても触れ、実際の運用に役立つ情報を提供しました。

これを機に、Linuxシステムでのユーザー管理をより効率的に行うために、実際にコマンドを試してみることをお勧めします。

  • URLをコピーしました!
目次から探す