より広く普及しているuseradd
に加えて、Debianベースのシステムには、ユーザーといくつかの関連タスクを追加するためのより高レベルのインターフェースを提供する追加のadduser
コマンドも含まれています。他のSEサイトには、これらのコマンドの基本的な違いを詳しく説明するさまざまな質問/回答があります。次に例を示します。
ほとんどの回答では、adduser
はユーザーをインタラクティブに追加するための優れたインターフェースを提供すると本質的に述べていますが、adduser
を実行したときにuseradd
。そう:
adduser
は何をしますかuseradd
はしませんか?まず、それぞれのmanページのスニペットは、2つのコマンドの違いを強調し、何が起こっているかを示しています。 adduser
の場合:
adduserおよびaddgroupは、コマンドラインオプションと/etc/adduser.confの構成情報に従って、ユーザーとグループをシステムに追加します。これらは、useradd、groupadd、usermodプログラムなどの低レベルのツールのフレンドリなフロントエンドです。デフォルトでは、Debianポリシー準拠のUIDとGIDの値を選択し、スケルトン構成のホームディレクトリを作成し、カスタムスクリプトを実行します。
次に、useradd
の場合:
useraddは、ユーザーを追加するための低レベルのユーティリティです。 Debianでは、管理者は通常、代わりにadduser(8)を使用する必要があります。
adduser
をさらに調査すると、次のコマンドに高レベルのインターフェイスを提供し、その機能の一部を提供するPerlスクリプトであることがわかります。
useradd
groupadd
passwd
-ユーザーのパスワードを追加/変更するために使用されます。gpasswd
-グループのパスワードを追加/変更するために使用されます。usermod
-さまざまなユーザー関連パラメーターを変更するために使用されます。chfn
-ユーザーが保持する追加情報を追加/変更するために使用されます。chage
-パスワードの有効期限情報を変更するために使用されます。edquota
-ディスク使用量の割り当てを変更するために使用されます。adduser
コマンドの基本的な実行は次のとおりです。
adduser username
この簡単なコマンドは多くのことを行います:
username
という名前のユーザーを作成します。/home/username
)を作成し、/etc/skel
からファイルをそこにコピーします。useradd
プログラムはほとんどの場合これを実行できますが、デフォルトでは実行されず、追加のオプションが必要です。一部の情報には、さらにコマンドが必要です。
useradd -m -U username
passwd username
chfn username
adduser
は、作成されたUIDとGIDが Debianポリシー に準拠していることを確認します。 UID_MIN
のUID_MAX
//etc/login.defs
がuseradd
で通常のユーザーを作成しても問題ないようですが、Debianポリシーと一致しています。しかし、問題は、Debianが/etc/adduser.conf
でのみサポートされていると思われるシステムユーザーUIDの特定の範囲を指定しているため、useradd
でシステムユーザーを単純に追加し、UID/GUIDを指定しないことです。正しい範囲では、深刻な問題が発生する可能性があります。
adduser
のもう1つの一般的な用途は、ユーザーをグループに追加するプロセスを簡略化することです。ここでは、次のコマンド:
adduser username newgroup
より複雑なusermod
コマンドを置き換えます。このコマンドでは、ユーザーが既にメンバーになっている(ユーザーをメンバーのままにしたい)グループを指定する必要があります。
usermod -G all,other,groups,user,is,in,newgroup
ただし、ここでadduser
を使用する場合の欠点は、一度に1つのグループしか指定できないことです。
adduserコマンドは、デフォルトでseraddコマンドでは実行できないシステムユーザー用の/ home/userディレクトリも作成します。 useraddは、システムユーザーではなく、通常のユーザーのホームディレクトリのみを追加します。
システム管理者は、adduserで実行できるuseraddで何でも実行できます。ここでは、useraddを使用してシステムユーザー用の/ home/userディレクトリを作成することはできず、/ etc/skelに含まれているファイルを変更することによって、絶対に作成できることを述べました。/etc/skelには、新しいユーザーのホームディレクトリを作成するために最初に使用されるファイルのセットが含まれています。