Linux では、useradd コマンドを使用してユーザーを追加できます。このコマンドの機能は、新しいユーザーを作成し、新しいシステム ユーザーを追加することです。基本的な構文形式は、「useradd [オプション] ユーザー名」です。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
Linux では、useradd コマンドを使用して新しいユーザーを作成し、新しいシステム ユーザーを追加できます。
このコマンドの基本的な形式は次のとおりです。
[root@localhost ~]#useradd [选项] 用户名
このコマンドで一般的に使用されるオプションとそれぞれの意味を表 1 に示します。
オプション | 意味 |
---|---|
-u UID | ユーザーの UID を手動で指定します。UID の範囲 (500 以上) に注意してください。 |
-d ホーム ディレクトリ | ユーザーのホーム ディレクトリを手動で指定します。ホーム ディレクトリは絶対パスである必要があり、ホーム ディレクトリを手動で指定する必要がある場合は、権限に注意する必要があります; |
-c ユーザー説明 | /etc/passwd ファイルを手動で指定する 各ユーザー情報の 5 番目のフィールドの説明内容は任意に設定できます; |
-g グループ名 | 手動で指定するユーザーの初期グループ。通常、ユーザーと同じ名前のグループがユーザーの初期グループとして使用され、ユーザー作成時にデフォルトで初期グループが設定されます。手動で指定すると、システムはこのデフォルトの初期グループ ディレクトリを作成しません。 |
-G グループ名 | ユーザーの追加グループを指定します。ユーザーを他のグループに追加するときは、通常、追加のグループを使用します; |
-s シェル | ユーザーのログイン シェルを手動で指定します (デフォルトは /bin/bash)。 |
-e Date | ユーザーの有効期限を「YYYY-MM-DD」の形式で指定します。つまり、/etc/shadow ファイルの 8 番目のフィールド |
-o | により、作成されたユーザーが同じ UID を持つことが許可されます。たとえば、「useradd -u 0 -o usertest」コマンドを実行してユーザー usertest を作成します。その UID は root ユーザーの UID と同じで、両方とも 0; |
-m | ユーザーを作成するときは、ユーザーのホーム ディレクトリを作成することが必須です。システム ユーザーを作成する場合、このオプションはデフォルトです。 |
-r | システム ユーザー (UID は 1 ~ 499 の間) を作成して使用します。システムプログラム、ユーザーによる。システム ユーザーは主に、システムの実行に必要なサービスの権限を構成するために使用されるため、システム ユーザーを作成しても、デフォルトではホーム ディレクトリは作成されません。 |
実際、システムには多くのデフォルト値が用意されており、特別な要件がなければ、オプションを使用しなくてもユーザーを正常に作成できます。例:
[root@localhost ~]# useradd lamp
このコマンド ラインは、通常のユーザー ランプを作成することを意味します。
この単純なコマンドを過小評価しないでください。このコマンドは次の操作を完了します。
ランプ ユーザーに関連するデータ行を /etc/passwd ファイルに作成します。 :
[root@localhost ~]# grep "lamp" /etc/passwd lamp:x:500:500::/home/lamp:/bin/bash
ユーザーの UID が 500 から計算されていることがわかります。同時に、ユーザーのホーム ディレクトリはデフォルトで /home/lamp/ として指定され、ユーザーのログイン シェルは /bin/bash になります。
ランプ ユーザー パスワードに関連する新しいデータ行が /etc/shadow ファイルに追加されました:
[root@localhost ~]# grep "lamp" /etc/shadow lamp:!!:15710:0:99999:7:::
もちろん、このユーザーはまだパスワードを設定していないため、パスワードフィールドは「!!」となっています。これは、ユーザーが適切なパスワードを持っていないため、正常にログインできないことを意味します。同時に、時間フィールドはデフォルト値に従って設定されます。たとえば、パスワードは 99999 日間有効で、システムはパスワードの有効期限が切れる 7 日前に「パスワードの有効期限が近づいています」というメッセージをユーザーに表示します。 。
/etc/group ファイルにユーザー名と同じ行を含むグループを作成します:
[root@localhost ~]# grep "lamp" /etc/group lamp:x:500:
このグループは次のように使用されます。新しいユーザーの名前 初期グループ。
/etc/gshadow ファイルに新しいグループに関連するパスワード情報の新しい行を追加します:
[root@localhost ~]# grep "lamp" /etc/gshadow lamp:!::
もちろん、追加しました。未設定 グループパスワードが設定されているため、パスワードもグループ管理者も存在しません。
ユーザーのホーム ディレクトリとメールボックスがデフォルトで作成されます:
[root@localhost ~]#ll -d /home/lamp/ drwx------ 3 lamp lamp 4096 1月6 00:19 /home/lamp/ [root@localhost ~]#ll /var/spod/mail/lamp -rw-rw---- 1 lamp mail 0 1月6 00:19 /var/spool/mail/lamp
これら 2 つのファイルのアクセス許可をランプに与える必要があることに注意してください。ユーザーの権限。
/etc/skel
ディレクトリ内の構成ファイルを新しいユーザーのホーム ディレクトリにコピーします。
ご覧のとおり、useradd コマンドを使用してユーザーを作成するプロセスでは、ユーザーに関連するいくつかのファイルまたはディレクトリが実際に変更されます。これらのファイルについては、前の章で詳しく説明しました。
デフォルトでユーザーを作成することに加えて、useradd コマンドのさまざまなオプションを使用して、作成するユーザーをカスタマイズすることもできます。たとえば、次のとおりです。
[root@localhost ~]# groupadd lamp1 #先手工添加lamp1用户组,因为我一会儿要把lamp1用户的初始迎指定过来,如果不事先建立,则会报告用户组不存在 [root@localhost ~]# useradd -u 550 -g lamp1 -G root -d /home/lamp1 -c "test user" -s /bin/bash lamp1 #在建立用户lamp1的同时,指定了UID(550)、初始组(lamp1)、附加组(root)、家目录(/home/lamp1/)、用户说明(test user)和用户登录Shell(/bin/bash) [root@localhost ~]# grep "lamp1" /etc/passwd /etc/shadow /etc/group #同时查看三个文件 /etc/passwd:lamp1:x:550:502:test user:/home/lamp1:/bin/bash #用户的UID、初始组、用户说明、家目录和登录Shell都和命令手工指定的一致 /etc/shadow:lamp1:!!:15710:0:99999:7::: #lamp1用户还没有设定密码 /etc/group:root:x:0:lamp1 #lamp1用户加入了root组,root组是lamp1用户的附加组 /etc/group:lampl:x:502: #GID为502的组是lamp1组 [root@localhost ~]#ll -d /home/lamp1/ drwx------ 3 lamp1 lamp1 4096 1月6 01:13 /home/lamp1/ #家目录也建立了,不需要手工建立
上記の 2 つの方法を使用すると、ユーザーは次のことができます。正常に作成されます。多くの場合、デフォルト値を使用することで要件が満たされるため、手動で何も指定する必要はありません。 useradd コマンドのデフォルト値がどこに保存されているか、また手動で変更できるかどうかについて考えたことがありますか?
答えは「はい」です。 useradd コマンドがユーザーを追加するときに参照する主なデフォルト値ファイルは、/etc/default/useradd と /etc/login.defs の 2 つです。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxでユーザーを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。