目次:
useradd
コマンド- Linuxで新しいユーザーを作成する方法
- 新しいユーザーを追加してホームディレクトリを作成する方法
- 特定のホームディレクトリを持つユーザーの作成
- 特定のユーザーIDを持つユーザーの作成
- 特定のグループIDを持つユーザーの作成
- ユーザーの作成と複数のグループの割り当て
- 特定のログインシェルでユーザーを作成する
- カスタムコメント付きのユーザーの作成
- 有効期限のあるユーザーの作成
- システムユーザーの作成
- デフォルトのuseradd値の変更
- 結論
Linuxはマルチユーザーシステムであるため、複数の人が同じシステムを同時に操作できます。 システム管理者として、ユーザーを作成および削除し、それらを異なるグループに割り当てることにより、システムのユーザーおよびグループを管理する責任があります。
Linuxでは、
useradd
コマンドを使用してユーザーアカウントを作成し、ユーザーを異なるグループに割り当てることができます。
useradd
は低レベルのユーティリティです。DebianおよびUbuntuのユーザーは、より使いやすいadduserコマンドを代わりに使用するでしょう。
、
useradd
コマンドの使用方法とそのオプションについて説明します。
useradd
コマンド
useradd
コマンドの一般的な構文は次のとおりです。
useradd USERNAME
useradd
コマンドを使用して新しいユーザーを作成するには、rootまたはsudoアクセスを持つユーザーとしてログインする必要があります。
呼び出されると、
useradd
は、コマンドラインで指定されたオプションと
/etc/default/useradd
ファイルで指定されたデフォルト値を使用して、新しいユーザーアカウントを作成します。
このファイルで定義されている変数は、配布ごとに異なります。これにより、
useradd
コマンドは異なるシステムで異なる結果を生成します。
このコマンドは、/
/etc/login.defs
ファイルの内容も読み取ります。 このファイルには、パスワード有効期限ポリシー、システムおよび一般ユーザーの作成時に使用されるユーザーIDの範囲など、シャドウパスワードスイートの構成が含まれています。
Linuxで新しいユーザーを作成する方法
新しいユーザーアカウントを作成するには、
useradd
続けてユーザー名を入力します。
たとえば、
username
という名前の新しいユーザーを作成するには、次を実行します。
sudo useradd username
オプションを使用せずに使用した場合の最も単純な形式では、useraddは
/etc/default/useradd
ファイルで指定されたデフォルト設定で新しいユーザーアカウントを作成します。
このコマンドは、エントリを
/etc/passwd
、
/etc/shadow,
/etc/group
、および
/etc/gshadow
ファイルに追加します。
新しく作成されたユーザーとしてログインできるようにするには、ユーザーのパスワードを設定する必要があります。 そのためには、
passwd
コマンドに続いてユーザー名を実行し
passwd
。
sudo passwd username
パスワードの入力と確認を求められます。 強力なパスワードを使用してください。
Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully.
新しいユーザーを追加してホームディレクトリを作成する方法
ほとんどのLinuxディストリビューションでは、
useradd
コマンドで新しいユーザーアカウントを作成すると、ユーザーのホームディレクトリは作成されません。
-m
(--
--create-home
)オプションを使用して、ユーザーのホームディレクトリを
/home/username
として作成し
/home/username
。
sudo useradd -m username
上記のコマンドは、新しいユーザーのホームディレクトリを作成し、
/etc/skel
ディレクトリからユーザーのホームディレクトリにファイルをコピーします。
/home/username
ディレクトリー内のファイルをリストすると、初期化ファイルが表示されます。
ls -la /home/username/
drwxr-xr-x 2 username username 4096 Dec 11 11:23. drwxr-xr-x 4 root root 4096 Dec 11 11:23.. -rw-r--r-- 1 username username 220 Apr 4 2018.bash_logout -rw-r--r-- 1 username username 3771 Apr 4 2018.bashrc -rw-r--r-- 1 username username 807 Apr 4 2018.profile
ユーザーは、ホームディレクトリ内で、ファイルとディレクトリの書き込み、編集、削除を行うことができます。
特定のホームディレクトリを持つユーザーの作成
たとえば、
/opt/username
ホームディレクトリを持つ
username
という名前の新しいユーザーを作成するには、次のコマンドを実行する必要があります。
sudo useradd -m -d /opt/username username
特定のユーザーIDを持つユーザーの作成
LinuxおよびUnixライクなオペレーティングシステムでは、ユーザーは一意のUIDとユーザー名で識別されます。
ユーザー識別子(UID)は、Linuxシステムによって各ユーザーに割り当てられる一意の正の整数です。 UIDと他のアクセス制御ポリシーを使用して、ユーザーがシステムリソースに対して実行できるアクションの種類を決定します。
デフォルトでは、新しいユーザーが作成されると、システムは
login.defs
ファイルで指定されたユーザーIDの範囲から次に使用可能なUIDを割り当てます。
-u
(--
--uid
)オプションを使用して、特定のUIDを持つユーザーを作成します。 たとえば、UIDが
1500
username
という名前の新しいユーザーを作成するには、次のように入力します。
sudo useradd -u 1500 username
id
コマンドを使用して、ユーザーのUIDを確認できます。
id -u username
特定のグループIDを持つユーザーの作成
Linuxグループは、Linuxでユーザーアカウントを整理および管理するために使用される組織単位です。 グループの主な目的は、グループ内のユーザー間で共有できる特定のリソースに対する読み取り、書き込み、または実行権限などの一連の特権を定義することです。
新しいユーザーを作成する場合、
useradd
コマンドのデフォルトの動作は、ユーザー名と同じ名前で、UIDと同じGIDを持つグループを作成することです。
-g
(--
--gid
)オプションを使用して、特定の初期ログイングループを持つユーザーを作成します。 グループ名またはGID番号のいずれかを指定できます。 グループ名またはGIDはすでに存在している必要があります。
たとえば、
username
という名前の新しいユーザーを作成し、ログイングループを
users
設定するには、次の
users
入力し
users
。
sudo useradd -g users username
ユーザーのGIDを確認するには、
id
コマンドを使用します。
id -gn username
ユーザーの作成と複数のグループの割り当て
Linuxオペレーティングシステムには、プライマリグループとセカンダリグループまたは補足グループの2種類のグループがあります。 各ユーザーは、1つのプライマリグループと0個以上のセカンダリグループに属することができます。
-G
(--
--groups
)オプションを使用すると、ユーザーがメンバーになる補足グループのリストを指定できます。
次のコマンドは、プライマリグループ
users
とセカンダリグループ
wheel
および
docker
持つ
username
という名前の新しいユーザーを作成します。
sudo useradd -g users -G wheel, developers username
次のように入力して、ユーザーグループを確認できます。
id username
uid=1002(username) gid=100(users) groups=100(users), 10(wheel), 993(docker)
特定のログインシェルでユーザーを作成する
デフォルトでは、新しいユーザーのログインシェルは
/etc/default/useradd
ファイルで指定されたものに設定されます。 Ubuntu 18.04などの一部のLinuxディストリビューションでは、デフォルトのシェルは
/bin/sh
設定されていますが、他のディストリビューションでは
/bin/bash
設定されています。
-s
(--
--shell
)オプションを使用すると、新しいユーザーのログインシェルを指定できます。
たとえば、ログインシェルタイプとして
/usr/bin/zsh
を使用して
username
という名前の新しいユーザーを作成するには、次のように入力します。
sudo useradd -s /usr/bin/zsh username
/etc/passwd
ファイルのユーザーエントリをチェックして、ユーザーのログインシェルを確認します。
grep username /etc/passwd
username:x:1001:1001::/home/username:/usr/bin/zsh
カスタムコメント付きのユーザーの作成
-c
(--
--comment
)オプションを使用すると、新しいユーザーの簡単な説明を追加できます。 通常、ユーザーのフルネームまたは連絡先情報がコメントとして追加されます。
次の例では、テキスト文字列
Test User Account
をコメントとして、
username
という名前の新しいユーザーを作成しています。
sudo useradd -c "Test User Account" username
コメントは
/etc/passwd
ファイルに保存されます。
grep username /etc/passwd
username:x:1001:1001:Test User Account:/home/username:/bin/sh
コメントフィールドは
GECOS
とも呼ばれます。
有効期限のあるユーザーの作成
-e
(--
--expiredate
)オプションを使用すると、新しいユーザーアカウントの有効期限を定義できます。 このオプションは、一時的なアカウントを作成するのに便利です。 日付は
YYYY-MM-DD
形式を使用して指定する必要があります。
たとえば、有効期限が2019年1月22日に設定された
username
という名前の新しいユーザーアカウントを作成するには、次のコマンドを実行します。
sudo useradd -e 2019-01-22 username
chage
コマンドを使用して、ユーザーアカウントの有効期限を確認できます。
sudo chage -l username
出力は次のようになります。
Last password change: Dec 11, 2018 Password expires: never Password inactive: never Account expires: Jan 22, 2019 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
システムユーザーの作成
システムユーザーと通常の(通常の)ユーザーの間に技術的な違いはありません。 通常、OSおよび新しいパッケージをインストールするときにシステムユーザーが作成されます。
状況によっては、一部のアプリケーションで使用されるシステムユーザーを作成する必要があります。
-r
(--
--system
)オプションを使用して、システムユーザーアカウントを作成します。 たとえば、
username
という名前の新しいシステムユーザーを作成するには、次の
username
を実行します。
sudo useradd -r username
システムユーザーは有効期限なしで作成されます。 それらのUIDは、通常のユーザーに使用される範囲とは異なる
login.defs
ファイルで指定されたシステムユーザーIDの範囲から選択されます。
デフォルトのuseradd値の変更
デフォルトのuseraddオプションは、
-D
、--
--defaults
オプションを使用するか、
/etc/default/useradd
ファイルの値を手動で編集することで表示および変更できます。
現在のデフォルトオプションを表示するには、次のように入力します。
useradd -D
出力は次のようになります。
GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no
デフォルトのログインシェルを
/bin/sh
から
/bin/bash
に変更するとします。 これを行うには、以下に示すように新しいシェルを指定します。
sudo useradd -D -s /bin/bash
次のコマンドを実行して、デフォルトのシェル値が変更されたことを確認できます。
sudo useradd -D | grep -i shell
結論
このチュートリアルでは、
useradd
コマンドを使用して新しいユーザーアカウントを作成する方法を示しました。 Ubuntu、CentOS、RHEL、Debian、Fedora、Arch Linuxなど、すべてのLinuxディストリビューションに同じ手順が適用されます。
ご質問がある場合は、コメントをお気軽にお寄せください。
端末ユーザーグループ