
Linuxはマルチユーザーシステムです。つまり、複数の人が同時に同じシステムと対話できます。システム管理者は、ユーザーを作成および削除してシステムのユーザーとグループを管理し、それらを別のグループに割り当てる責任があります。
この記事では、 useradd
を使用して新しいユーザーアカウントを作成する方法について説明します。 コマンド。
useradd
コマンド#
useradd
の一般的な構文 コマンドは次のとおりです:
useradd [OPTIONS] USERNAME
useradd
を使用できるのは、rootまたはsudoprivilegesを持つユーザーのみです。 新しいユーザーアカウントを作成するコマンド。
呼び出されると、 useradd
コマンドラインで指定されたオプションと/etc / default / useradd
で設定されたデフォルト値に従って、新しいユーザーアカウントを作成します ファイル。
このファイルで定義されている変数はディストリビューションごとに異なり、 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
を実行します コマンドの後にユーザー名を入力します:
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
として作成するオプション :
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
ホームディレクトリ内で、ユーザーはファイルやディレクトリの書き込み、編集、削除を行うことができます。
デフォルトでは、 useradd
/ home
にユーザーのホームディレクトリを作成します 。他の場所にユーザーのホームディレクトリを作成する場合は、 d
を使用します (-home
)オプション。
これは、 username
という名前の新しいユーザーを作成する方法を示す例です。 / opt / username
のホームディレクトリ :
sudo useradd -m -d /opt/username username
LinuxおよびUnixライクなオペレーティングシステムでは、ユーザーは一意のUIDとユーザー名で識別されます。
ユーザー識別子(UID)は、Linuxシステムによって各ユーザーに割り当てられた一意の正の整数です。 UIDおよびその他のアクセス制御ポリシーは、ユーザーがシステムリソースに対して実行できるアクションのタイプを決定するために使用されます。
デフォルトでは、新しいユーザーが作成されると、システムは login.defs
で指定されたユーザーIDの範囲から次に使用可能なUIDを割り当てます。 ファイル。
useradd
を呼び出す -u
を使用 (-uid
)特定のUIDを持つユーザーを作成するオプション。たとえば、 username
という名前の新しいユーザーを作成します 1500
のUID 次のように入力します:
sudo useradd -u 1500 username
id
を使用して、ユーザーのUIDを確認できます コマンド:
id -u username
1500
Linuxグループは、Linuxでユーザーアカウントを整理および管理するために使用される組織単位です。グループの主な目的は、グループ内のユーザー間で共有できる特定のリソースの読み取り、書き込み、実行権限などの一連の特権を定義することです。
新しいユーザーを作成するときのuseradd
のデフォルトの動作 コマンドは、ユーザー名と同じ名前、UIDと同じGIDでグループを作成することです。
-g
(-gid
)オプションを使用すると、特定の初期ログイングループを持つユーザーを作成できます。グループ名またはGID番号のいずれかを指定できます。グループ名またはGIDがすでに存在している必要があります。
次の例は、 username
という名前の新しいユーザーを作成する方法を示しています。 ログイングループをusers
に設定します タイプ:
sudo useradd -g users username
ユーザーのGIDを確認するには、 id
を使用します コマンド:
id -gn username
users
ユーザーの作成と複数のグループの割り当て#
Linuxオペレーティングシステムには、プライマリグループとセカンダリ(または補足)グループの2種類のグループがあります。各ユーザーは、正確に1つのプライマリグループと0個以上のセカンダリグループに属することができます。
-G
を使用して、ユーザーがメンバーになる補足グループのリストを指定します。 (-グループコード> )オプション。
次のコマンドは、 username
という名前の新しいユーザーを作成します プライマリグループusers
および二次グループwheel
およびdocker
。
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
で指定されたものに設定されています ファイル。一部のディストリビューションでは、デフォルトのシェルが / bin / sh
に設定されています 他の場合は/bin / bash
に設定されています 。
-s
(-shell
)オプションを使用すると、新しいユーザーのログインシェルを指定できます。
たとえば、 username
という名前の新しいユーザーを作成するには / usr / bin / zsh
を使用 ログインシェルタイプとして:
sudo useradd -s /usr/bin/zsh username
/ etc / passwd
のユーザーエントリを確認してください ユーザーのログインシェルを確認するためのファイル:
grep username /etc/passwd
username:x :1001:1001::/home/username:/usr/bin/zsh
-c
(-コメント
)オプションを使用すると、新しいユーザーの簡単な説明を追加できます。通常、ユーザーのフルネームまたは連絡先情報はコメントとして追加されます。
次の例では、 username
という名前の新しいユーザーを作成しています。 テキスト文字列TestUser Account
コメントとして:
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
を使用して指定する必要があります フォーマット。
たとえば、 username
という名前の新しいユーザーアカウントを作成します 有効期限を2019年1月22日に設定すると、次のように実行されます。
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
を使用します (-システムコード> )システムユーザーアカウントを作成するオプション。たとえば、
username
という名前の新しいシステムユーザーを作成するには 実行します:
sudo useradd -r username
システムユーザーは、有効期限なしで作成されます。それらのUIDは、 login.defs
で指定されたシステムユーザーIDの範囲から選択されます。 ファイル。通常のユーザーが使用する範囲とは異なります。
デフォルトのuseradd値の変更#
デフォルトのuseraddオプションは、 -D
を使用して表示および変更できます。 、-デフォルト
オプション、または / 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
SHELL=/bin/bash
結論#
useradd
を使用して新しいユーザーアカウントを作成する方法を説明しました 指図。同じ手順が、Ubuntu、CentOS、RHEL、Debian、Fedora、ArchLinuxなどのすべてのLinuxディストリビューションに適用されます。
useradd
は低レベルのユーティリティであり、DebianおよびUbuntuユーザーは代わりに使いやすいadduserコマンドを使用できます。
ご不明な点がございましたら、お気軽にコメントをお寄せください。