useraddが行わないuseraddの機能は何ですか?


71

より広く普及していることに加えてuseradd、Debianベースのシステムには、adduserユーザーといくつかの関連タスクを追加するためのより高いレベルのインターフェースを提供する追加コマンドも含まれています。他のSEサイトには、これらのコマンドの基本的な違いを詳しく説明するさまざまな質問/回答があります。たとえば、

答えのほとんどは、基本的にadduserユーザーをインタラクティブに追加するためのより良いインターフェイスを提供すると言いますが、adduserが実行されたときに何が起こるかについてはあまり詳しく説明しませんuseradd。そう:

  1. adduserそれuseraddは何をしませんか?
  2. 同等の結果を生成するには、どのコマンドを使用する必要がありますか?

回答:


79

まず、それぞれの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

この単純なコマンドは多くのことを行います:

  1. という名前のユーザーを作成しますusername
  2. ユーザーのホームディレクトリを作成します(デフォルトでは/home/username、そこからファイルをコピーします)/etc/skel
  3. ユーザーと同じ名前のグループを作成し、その中にユーザーを配置します。
  4. ユーザーのパスワードの入力を求めます。
  5. ユーザーに関する追加情報の入力を求めます。

このuseraddプログラムはほとんどの場合これを実行できますが、デフォルトでは実行されず、追加のオプションが必要です。一部の情報には、さらにコマンドが必要です。

useradd -m -U username
passwd username
chfn username

adduser作成されたUIDとGIDがDebianポリシーに準拠していることを確認してください。/ がDebianポリシーに一致するuseradd場合、通常のユーザーを作成しても問題ないようです。問題は、Debianがでのみサポートされていると思われる特定の範囲のシステムユーザーUIDを指定しているため、正しい範囲のUID / GUIDを指定していないシステムユーザーを単純に追加すると、深刻な問題が発生する可能性があることです。UID_MINUID_MAX/etc/login.defs/etc/adduser.confuseradd

別の一般的な使用adduser法は、ユーザーをグループに追加するプロセスを簡素化することです。ここで、次のコマンド:

adduser username newgroup

usermodユーザーが既にメンバーになっている(およびユーザーがメンバーのままでいるようにする)グループを指定する必要がある、より複雑なコマンドを置き換えます。

usermod -G all,other,groups,user,is,in,newgroup

adduserただし、ここで使用する1つの欠点は、一度に1つのグループしか指定できないことです。


これはカッコいい!これが質問だとは知りませんでした。useraddと同様にハッシュ化されたパスワードを使用しますか?ところで、これは非常に良い仕事です。
mikeserv 14年

「管理者は...」という声明に完全に同意するかどうかはわかりませんが...個人的には、管理者はおそらくadduserシステム全体のポリシーに従って自分自身をまとめるべきだと思いますが、それは単なる肘掛け椅子ですせいぜいクォーターバッキング。
mikeserv 14年

@mikeserv、ハッシュ化されたパスワードはありません。ただし、知っておくべき別のプログラムがありchpasswdますstdin。これは、ハッシュ化されたパスワードを受け入れることができます。明日まで待ってから、他の答えを更新します。
Graeme 14年

素敵な投稿。私にとっては、あまりにも多くの詳細。私が最も見逃しているのは、adduser元々は大学のメールサーバーのような実際のユーザーを頻繁に作成/変更/制限する必要があるサーバー管理者向けに作成されたものです。を使用adduserすると、プロセスを自動化できます。これはここ数年で少し変更されたため、今日でuseraddは多くの管理者にとって困難にadduserなり、彼らにとっては選択のツールとなっています。

私のUbuntu 16.04では、-U/ --user-groupがデフォルトのようです。
フランクリンゆう

2

adduserのの、デフォルトではコマンドは、あなたが行うことができないシステムユーザのための/ home /ユーザーディレクトリ作成にuseraddコマンドを使用します。useraddは、システムユーザーではなく通常のユーザーのホームディレクトリのみを追加します。


1

システム管理者は、adduserで実行できるuseraddで何でもできます。ここでは、useraddを使用してシステムユーザー用の/ home / userディレクトリを作成することはできず、/ etc / skelに含まれるファイルを変更することで絶対にできると述べました。/ etc / skelには、新しいユーザーのホームディレクトリを作成するために最初に使用されたファイルのセットが含まれています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.