useradd コマンドは、 Linuxでユーザーアカウントを追加/作成するために使用される低レベルのユーティリティです。 およびその他のUnixライク オペレーティングシステム。
Linuxはマルチユーザーシステムです。つまり、複数の人が同時に同じシステムと対話できます。これらのユーザーは、システムを使用する前に作成する必要があります。
呼び出されると、 useradd
コマンドラインで指定されたオプションと/etc / default / useradd
で設定されたデフォルト値に従って、新しいユーザーアカウントを作成します ファイル。 useradd
/etc/login.defs
のコンテンツも読み取ります ファイル。このファイルには、パスワードの有効期限ポリシー、システムおよび通常のユーザーの作成時に使用されるユーザーIDの範囲など、シャドウパスワードスイートの構成が含まれています。
rootまたはsudo権限を持つユーザーのみが、useraddコマンドを使用して新しいユーザーアカウントを作成できます。 useraddが呼び出されると、コマンドラインで指定されたオプションと / etc / default / useradd
で設定されたデフォルト値に従って新しいユーザーアカウントが作成されます。 ファイル。
- / etc / passwdを編集します 、 / etc / shadow 、 / etc / group および/etc / gshadow 新しく作成されたユーザーアカウントのファイル。
- 新しいユーザーのホームディレクトリを作成して設定します。
- ホームディレクトリに権限と所有権を設定します。
目次
- 新しいユーザーを作成する
- 新しいユーザーを追加してホームディレクトリを作成する
- 異なるホームディレクトリを持つユーザーを作成する
- 特定のユーザーIDを持つユーザー
- 特定のユーザーIDを持つユーザー
- 複数のグループにユーザーを追加する
- ホームディレクトリのないユーザー
- アカウントの有効期限を持つユーザー
- パスワードの有効期限を持つユーザー
- ユーザーへのカスタムコメントの追加
- ユーザーログインシェルの指定
- システムユーザーの作成
- 議論の連鎖
- デフォルトのuseradd値の変更
- Linuxからのユーザーの削除
- Linuxでのグループの追加
- ユーザーのグループを変更する
1。新しいユーザーを作成する
useraddの基本的な構文 コマンドは次のとおりです:
# sudo useradd [options] username
例:
sudo useradd citizix
useraddを使用してLinuxに新しいユーザーを追加する場合 コマンドを実行すると、ロックされた状態で作成され、そのユーザーアカウントのロックを解除するには、 passwdを使用してそのアカウントのパスワードを設定する必要があります。 コマンド。
$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
エントリは自動的に/etc / passwdに追加されます ファイル:
$ cat /etc/passwd | grep citizix
citizix:x:1001:1001::/home/citizix:/bin/bash
/ etc / passwd
のフィールド コロンで区切られます:
そしてそれらは以下を表します:
- ユーザー名 :システムへのログインに使用されるユーザーログイン名。長さは1〜32文字である必要があります。
- パスワード : / etc / shadow に保存されているユーザーパスワード(またはx文字) 暗号化された形式のファイル。
- ユーザーID(UID) :すべてのユーザーはユーザー IDを持っている必要があります ( UID )ユーザー識別番号。デフォルトでは、 UID 0 ルートユーザー用に予約されており、UIDは 1〜99の範囲です 他の事前定義されたアカウント用に予約されています。その他のUIDは100-999の範囲です システムアカウントとグループ用に予約されています。
- グループID(GID) :プライマリグループID( GID ) / etc / groupに保存されているグループ識別番号 ファイル。
- ユーザー情報 :このフィールドはオプションであり、ユーザーに関する追加情報を定義できます。たとえば、ユーザーのフルネーム。このフィールドには「finger」コマンドが入力されます。
- ホームディレクトリ :ユーザーのホームディレクトリの絶対的な場所。
- シェル :ユーザーのシェルの絶対位置、つまり / bin / bash 。
2。新しいユーザーを追加してホームディレクトリを作成する
-m
を使用します (-create-home
)ユーザーのホームディレクトリを / home / username
として作成するオプション :
sudo useradd -m username
上記のコマンドは、新しいユーザーのホームディレクトリを作成し、 / etc / skel
からファイルをコピーします ディレクトリをユーザーのホームディレクトリに移動します。
3。別のホームディレクトリを持つユーザーを作成する
デフォルトでは、useraddはユーザー名と同じ名前でホームディレクトリを作成します。別のホームディレクトリを作成するには、 -d
を使用します そのディレクトリへのパスを含む引数。
このコマンドは、ホームディレクトリ / opt / citizixone
を作成します ユーザーcitizixoneの場合。
sudo useradd -d /opt/citizixone citizixone
/ etc / passwd
にチェックインします
$ cat /etc/passwd | grep citizixone
citizixone:x:1002:1002::/opt/citizixone:/bin/bash
4。特定のユーザーIDを持つユーザー
作成するユーザーのユーザーIDを指定する必要がある場合は、引数 -u
を使用します。 (-uid
)このように:
sudo useradd -u 1009 citizix
5。特定のグループID
グループIDを指定するには、 -g
を使用します (-gid
)この例のようなオプション:
sudo useradd -g citizix citizixtwo
次のコマンドでユーザーのGIDを確認します:
$ sudo id citizixtwo
uid=1003(citizixtwo) gid=1001(citizix) groups=1001(citizix)
$ cat /etc/passwd | grep citizixtwo
citizixtwo:x:1003:1001::/home/citizixtwo:/bin/bash
6。複数のグループにユーザーを追加する
ユーザーを複数のグループに追加する場合は、 -G
を使用します (-グループコード> )この例のようなオプション:
ユーザーにcitizix
を追加します グループへadmins
、 webadmin
、開発者
:
sudo usermod -a -G admins,webadmin,developers citizix
ユーザーを作成するcitizixtwo
グループに追加するadmins
、 webadmin
、開発者
:
sudo useradd -G admins,webadmin,developers citizix
次のコマンドを使用して、ユーザーがグループに正常に追加されていることを確認します。
sudo id citizix
sudo id citizixtwo
7。ホームディレクトリを持たないユーザー
ホームディレクトリのないユーザーを作成する場合は、 -M
を使用します オプション:
sudo useradd -M citizix
8。アカウントの有効期限を持つユーザー
有効期限のあるユーザーを作成したい場合があります。このコマンドを使用して、ユーザー citizixfour
を作成します 2021-12-30
に期限切れになります :
sudo useradd -e 2021-12-30 citizixfour
アカウントとパスワードの有効期限を確認するには、 chage
を使用します コマンド:
$ sudo chage -l citizixfour
Last password change : Oct 08, 2021
Password expires : never
Password inactive : never
Account expires : Dec 30, 2021
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
9。パスワードの有効期限を持つユーザー
-f
引数は、パスワードの有効期限が切れた後にユーザーが非アクティブ化される日数を定義するために使用されます。 0
の値 パスワードの有効期限が切れたらすぐにユーザーアカウントを無効にします。デフォルトでは、パスワードの有効期限の値は -1
に設定されています 期限切れにならないことを意味します。
この例では、アカウントのパスワードの有効期限を45日
に設定します。 ユーザーのcitizixfive
-e
を使用する および-f
オプション。
sudo useradd -e 2021-12-30 -f 45 citizixfive
sudo chage -l citizixfive
10。ユーザーへのカスタムコメントの追加
-c
(-コメント
)オプションは、新しいユーザーの簡単な説明を追加します。通常、ユーザーのフルネームまたは連絡先情報はコメントとして追加されます。
sudo useradd -c "Citizix User" citizixsix
/ etc / passwd
を確認してください
$ cat /etc/passwd | grep citizixsix
citizixsix:x:1006:1006:Citizix User:/home/citizixsix:/bin/bash
11。ユーザーログインシェルの指定
-s
(-shell
)オプションは、ログインシェルを指定するために使用されます。 / bin / bash
のようなインストールされたシェルのいずれかを使用できます またはbin/ zsh
または、ログインシェルとは関係のないユーザーの場合は、 / sbin / nologin
を実行できます。 ログインシェルがないことを指定するには:
# Specify /bin/zsh
sudo useradd -s /bin/zsh citizix
# Specify no login
sudo useradd -s /sbin/nologin citizix
12。システムユーザーの作成
システムまたはシステムにインストールするアプリケーションのいずれかで使用されるシステムユーザーが必要になる場合があります。-r
を使用します。 (-システムコード> )システムユーザーを定義するための引数:
sudo useradd -r grafana
13。引数の連鎖
ユーザーを作成するときに引数を連鎖させることもできます。
指定されたホームディレクトリ/var / www / citizix
を作成しながらユーザーを作成するこの例を確認してください カスタムログインシェルを定義する/bin / zsh
コメントを追加するCitizixWeb User
:
sudo useradd -m -d /var/www/citizix -s /bin/zsh -c "Citizix Web User" -U citizix
14。デフォルトのuseradd値の変更
useradd
デフォルトはファイル/etc / default / useradd
に保存されます 。
/ etc / default / useradd
のコンテンツをチェックアウトする :
$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
引数-D
を使用してクエリすることもできます useradd
の場合 コマンド:
$ sudo useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
これらの値を更新または変更するには、ファイルを編集するか、 useradd -D
を使用します 値を渡します。
ログインシェルを/bin / bash
から変更する例 / bin / zsh
へ
sudo useradd -D -s /bin/zsh
更新されたことを確認しましょう:
$ sudo useradd -D | grep -i shell
SHELL=/bin/zsh
15。 Linuxからのユーザーの削除
ユーザーを削除するには、 userdel
を使用します コマンド:
sudo userdel citizixfive
16。 Linuxでのグループの追加
グループを手動で作成するには、コマンドを使用します。
これにより、グループ sftp-users
が作成されます 私たちのシステムでは:
sudo groupadd sftp-users
グループが作成されたことを確認しましょう
$ sudo grep sftp-users /etc/group
sftp-users:x:1007:
コマンド-G
を使用します 他のグループの場合( -G
ユーザーを新しいグループに追加しますが、古いグループに保持します(追加)。
id
を使用する 確認するコマンド
sudo id citizix
17。ユーザーのグループを変更する
ユーザーを作成し、そのプライマリグループを指定されたものに変更するには、 -g
を使用します オプション:
sudo useradd -g citizix citizixseven
結論
useradd
を使用して基本的な操作を行う方法を検討しました コマンド。ユーザーを作成し、グループに追加し、変更または削除することができました。
マンページを使用して、useraddコマンドの詳細を確認できます。
man useradd
useraddのすべてのオプションを確認するには、オプションなしでターミナルにコマンドを入力します。
$ useradd
Usage: useradd [options] LOGIN
useradd -D
useradd -D [options]
Options:
-b, --base-dir BASE_DIR base directory for the home directory of the
new account
-c, --comment COMMENT GECOS field of the new account
-d, --home-dir HOME_DIR home directory of the new account
-D, --defaults print or change default useradd configuration
-e, --expiredate EXPIRE_DATE expiration date of the new account
-f, --inactive INACTIVE password inactivity period of the new account
-g, --gid GROUP name or ID of the primary group of the new
account
-G, --groups GROUPS list of supplementary groups of the new
account
-h, --help display this help message and exit
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE override /etc/login.defs defaults
-l, --no-log-init do not add the user to the lastlog and
faillog databases
-m, --create-home create the user's home directory
-M, --no-create-home do not create the user's home directory
-N, --no-user-group do not create a group with the same name as
the user
-o, --non-unique allow to create users with duplicate
(non-unique) UID
-p, --password PASSWORD encrypted password of the new account
-r, --system create a system account
-R, --root CHROOT_DIR directory to chroot into
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-s, --shell SHELL login shell of the new account
-u, --uid UID user ID of the new account
-U, --user-group create a group with the same name as the user
-Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping