Linuxはマルチユーザーシステムであり、複数の人が同時に同じシステムと対話できることを意味します。 システム管理者は、ユーザーを作成および削除してシステムのユーザーとグループを管理し、それらを別のグループに割り当てる責任があります。
この記事では、useradd
コマンドを使用して新しいユーザーアカウントを作成する方法について説明します。,
useraddコマンド#
useradd
コマンドの一般的な構文は次のとおりです。
useradd USERNAME
rootまたはsudo権限を持つユーザーのみがuseradd
コマンドを使用して新しいユーザーアカウントを作成できます。
呼び出されると、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
)オプションを使用して、ユーザーのホームディレクトリをとして作成します。
sudo useradd -m username
上記のコマンドは、新しいユーザーのホームディレクトリを作成し、/etc/skel
ディレクトリ。, ディレクトリにファイルをリストすると、初期化ファイルが表示されます。
ls -la /home/username/
ホームディレクトリ内で、ユーザーはファイルとディレクトリを書き込み、編集、削除することができます。
特定のホームディレクトリを持つユーザーの作成#
デフォルトではuseradd
ユーザーのホームディレクトリを/home
に作成します。 他の場所にユーザーのホームディレクトリを作成する場合は、d
(--home
)オプションを使用します。,
以下は、username
という名前の新しいユーザーを作成する方法を示す例です。/opt/username
のホームディレクトリを持つ
sudo useradd -m -d /opt/username username
特定のユーザー ID#を持つユーザーの作成
LinuxおよびUnixライクなオペレーティングシステムでは、ユーザーは一意のUIDとユーザー名によって識別されます。ユーザー識別子(UID)は、Linuxシステムによって各ユーザーに割り当てられる一意の正の整数です。 のUIDおよびその他のアクセス制御の方針の決定に使用した行為をユーザーできるシステム資源です。,デフォルトでは、新しいユーザーが作成されると、login.defs
ファイルで指定されたユーザー Idの範囲から次に使用可能なUIDが割り当てられます。
特定のUIDを持つユーザーを作成するには、useradd
-u
(--uid
)オプションを指定して-u
を呼び出します。, たとえば、username
という名前の新しいユーザーを作成するには、1500
次のように入力します。
sudo useradd -u 1500 username
ユーザーのUIDを確認できます。id
コマンドを使用します。
id -u username
1500
特定のグループidを持つユーザーの作成#
linuxグループは、linuxでユーザーアカウントを整理および管理するために使用される組織単位です。, グループの主な目的は、グループ内のユーザー間で共有できる特定のリソースの読み取り、書き込み、または実行権限などの一連の権限を定義することです。
新しいユーザーを作成するとき、useradd
コマンドのデフォルトの動作は、ユーザー名と同じ名前、UIDと同じGIDを持つグループを作成することです。
-g
(--gid
)オプションを使用すると、特定の初期ログイングループを持つユーザーを作成できます。 グループ名またはGID番号のいずれかを指定できます。, グループ名またはGIDが既に存在する必要があります。
次の例は、username
という名前の新しいユーザーを作成し、ログイングループをusers
タイプに設定する方法を示しています。
sudo useradd -g users username
ユーザーのGIDを確認するには、id
コマンドを使用します。
id -gn username
users
ユーザーを作成し、複数のグループを割り当てる#
linuxオペレーティングシステムには、プライマリグループとセカンダリグループ(またはサプリメントグループ)の二つのタイプのグループがあります。, 各ユーザーは、正確に一つのプライマリグループとゼロ以上のセカンダリグループ
ユーザーがメンバーになる補助グループのリストを-G
(--groups
)オプションで指定することができます。
次のコマンドは、プライマリグループ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
(--comment
)オプションを使用すると、新しいユーザーの短い説明を追加できます。 通常、ユーザーのフルネームまたは連絡先情報がコメントとして追加されます。,
次の例では、username
という名前の新しいユーザーを作成しています。Test User 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
という名前の新しいユーザーアカウントを作成し、有効期限をJanuary22 2019に設定するには、次のように実行します。
sudo useradd -e 2019-01-22 username
chage
コマンドを使用して、ユーザーアカウントの有効期限を確認します。
sudo chage -l username
出力次のようになります。
Last password change: Dec 11, 2018Password expires: neverPassword inactive: neverAccount expires: Jan 22, 2019Minimum number of days between password change: 0Maximum number of days between password change: 99999Number of days of warning before password expires: 7
システムユーザーの作成#
システムユーザーと通常の(通常の)ユーザーの間には実際の技術的な違いはありません。 通常、システムのユーザーが作成したOSをインストールする際、新しいパッケージ。,
システムユーザーアカウントを作成するには、-r
(--system
)オプションを使用します。 たとえば、username
という名前の新しいシステムユーザーを作成するには、次のように実行します。
sudo useradd -r username
システムユーザーは有効期限 それらのUidは、login.defs
ファイルで指定されたシステムユーザー Idの範囲から選択されますが、これは通常のユーザーに使用される範囲とは異,
デフォルトのuseradd値の変更#
デフォルトのuseraddオプションは、-D
、--defaults
オプションを使用するか、/etc/default/useradd
ファイル
現在のデフォルトのオプションを表示するには、次のように入力します。
出力は次のようになります。
GROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/shSKEL=/etc/skelCREATE_MAIL_SPOOL=no
デフォルトのログインシェルを/bin/sh
から/bin/bash
に変更したいとします。, これを行うには、以下のように新しいシェルを指定します。
sudo useradd -D -s /bin/bash
次のコマンドを実行することで、デフォルトのシェル値が変更されていることを確認できます。
sudo useradd -D | grep -i shell
SHELL=/bin/bash
結論#
コマンド。 Ubuntu、CentOS、RHEL、Debian、Fedora、およびArch Linuxを含むすべてのLinuxディストリビューションにも同じ手順が適用されます。,
useradd
は低レベルのユーティリティであり、DebianおよびUbuntuユーザーは代わりにより親しみやすいadduserコマンドを使用できます。