「adduser」と「useradd」の違いは何ですか?


61

私は疑問に思います:Debian Linuxにこれら2つのコマンドがあり、名前と機能が非常に似ているのはなぜですか?これはいつも私を混乱させていました。

  • それらのいずれかが他のものより優れていますか?
  • なぜ1つに統合されないのですか?
  • それらの間に大きな違いはありますか?
  • どちらを使用すればよいですか?それとも、ユースケースに依存しますか?

1
これuseraddはすべてのUnixライクなプラットフォームで利用可能です。adduserDebianおよびその派生物専用です。
フランクリンユ

回答:


68

useraddシステムでコンパイルされたネイティブバイナリです。しかし、バックエンドでバイナリadduserを使用するperlスクリプトuseraddです。

adduserバックエンドよりもユーザーフレンドリーでインタラクティブですuseradd。提供される機能に違いはありません。


1
adduserはすべてのディストリビューション(suseベースなど)で利用できるわけではなく、一部のディストリビューションではuseradd(redhatベース)への単なるシンボリックリンクです。
ychaouche

12

する主な利点はadduserを超えるuseraddのは、システム・レベルのユーザーを扱っています。adduserのシステムユーザのためのプットに家庭でのユーザーディレクトリを作成したときに、システム・レベルのユーザーは、アカウントのuseraddが自動的ません。あなたが男を読んだ場合、それらはシステムレベルのユーザーと関連するホームディレクトリが自動であることを除いて本質的に同じです。adduserは、-mオプションで指定されている場合を除き、useraddにプロビジョニングがないシステムレベルユーザー用に/ home / userディレクトリを自動的に作成します。私が出会った他の読み物は、UIDとGUIDはadduserで受け入れられているコンフォーマルなDebian標準によって割り当てられていると一般的に述べています


1
adduserには--no-create-homeオプションがあります。
ychaouche

1

私がチェックしたいくつかのRedhatインスタンス(2011年の4.9と2017年の6.9)では、adduserはPerlスクリプトではなく、単にuseraddのエイリアスです。これはRedhat 6.9にあります。

$ ls -la /usr/sbin/useradd /usr/sbin/adduser
lrwxrwxrwx. 1 root root      7 Nov  2  2016 /usr/sbin/adduser -> useradd
-rwxr-x---. 1 root root 111320 Feb  9  2016 /usr/sbin/useradd

useraddが「正しい」プログラムであることを覚えているのは、これです。ユーザーの追加は、CRUDスペクトルの1つの操作にすぎません。また、「変更」および「削除」操作も必要です(「読み取り」は、おそらく/ etc / passwdを表示することでカバーされます)。そのため、プログラムの名前はuser *(それぞれuseradd、usermod、userdel)です。代わりの* user命名規則(adduser、moduser、deluser-これらは存在しない)も機能すると思います。しかし、それは少し厄介です(理由で、現時点では明確に表現できません:)


moduserDebianで見つけることはできませんdeluserが、間違いなくあります。
ychaouche

0

raspian内では(他のOSを確認する必要があります)、「adduser USER」はダイアログ(TUI)を起動しますが、「useradd USER」は起動しません。

どうやら、adduserを使用して、ダイアログが表示されると、完全な「useradd」コマンドがすでに実行されています。CTRL-Cを押してもユーザーはそこにいます。

新しいシステムと同様に、「個人」グループを作成します。新しく作成されたユーザーを削除するには、次の操作が必要です。

  • vi / etc / passwd
  • vi / etc / group
  • rm -rf / home / USER

adduserはuseraddを「使用」するため、残りはユーザーに関するメタデータだと思います。したがって、技術的には、「スケル」、「ファイルマスク」など、つまりシステムのデフォルトの変更はありません。

反対に、useraddはTUIを起動しないため、スクリプト作成の方が便利かもしれません。

正直に言うと、私はそれをrasbianでのみテストしました。それが私が質問に踏み込んだ理由だからです。

他のOSが異なるバージョンのadduserを実装する可能性があることを想像できます。

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