コマンドadduser
とuseradd
Ubuntu の違いは何ですか?
コマンドadduser
とuseradd
Ubuntu の違いは何ですか?
回答:
useradd
システムでコンパイルされたネイティブバイナリです。しかし、バックエンドでバイナリadduser
を使用するperlスクリプトuseradd
です。
adduser
バックエンドよりもユーザーフレンドリーでインタラクティブですuseradd
。提供される機能に違いはありません。
-m
オプションを指定してuseraddを実行すると、ホームディレクトリが作成されます。
adduser(8)
はよりユーザーフレンドリーであり、デフォルトでユーザーが期待する方法で作成および設定します。そしてuseradd(8)
、あなたが求めることだけを行うので、ホームディレクトリを作成したいので、あなたにそれを作成するように指示しなければなりません。
adduser
deluser
コマンドラインから新しいユーザーを作成する場合は、常に(およびユーザーを削除するときに)使用します。( -とあなたが移植を目指す場合は特に、スクリプトを書いている場合は、代わりに、低レベルのユーティリティを使用する場合がありますadduser
/ deluser
SuSEの上、たとえば、すべてのディストリビューション上で使用できない場合があります。)
useradd
、userdel
およびusermod
コマンドは、一方で歴史的な理由のためにそこにある低レベルのユーティリティですadduser/deluser
ドゥザ・ライト・シング™。(アルファベットのuser*
後adduser/deluser
に来るので、どちらを使用するかを覚えています。したがって、「悪い」です。)
それぞれのマンページによると(Ubuntu 12.04 Precise Pangolin、つまりDebian派生システム上)。
adduser
:(エンファシスが追加されました。)
adduser
のaddgroup
コマンドラインオプションと構成情報に従って、ユーザーとグループをシステムに追加します/etc/adduser.conf
。彼らは友好フロントが低レベルのようなツールを終了しているuseradd
、groupadd
とusermod
プログラム、骨格に構成されたホームディレクトリを作成するカスタムスクリプトを実行している、およびその他の機能、Debianポリシーに準拠UIDとGIDの値を選択するデフォルトでは、。adduser
そしてaddgroup
5つのモードのいずれかで実行することができます。
useradd
:
useradd
ユーザーを追加するための低レベルのユーティリティです。Debianでは、管理者は通常adduser(8)
代わりに使用する必要があります。
参照:「adduser」と「useradd」の違いは何ですか?(スーパーユーザー)
adduser
openSUSE を試してみましたが、そこにはありません。(13.2)
locate adduser
仕事でSuSE 11システムを試してみたところ、adduser
マンページはあるが、バイナリは(deluser
マンページもコマンドもありません)あることがわかりました。
/usr/sbin/adduser -> useradd
useraddが望ましい特定のシナリオにつながる別のいくつかの違い。
Ubuntu 14.4を含むいくつかの新しいディストリビューションでは、adduserはパスワードや「gecos」(fingerコマンドのデータ)などの情報の入力を求めます。これは、スクリプトからの呼び出しには適していない可能性があることを意味します(クレジット:Wernightのコメントで既に言及されています)。
プロンプトは、null引数を渡すことで抑制できます。
adduser --disabled-password --gecos "" USER
useradd
この-G
オプションを使用して、複数の追加グループを渡してユーザーを追加できます。 adduser
追加するグループごとに1回コマンドを呼び出す必要があるようです。
基本的な違いは、「adduser」がホームディレクトリを作成し、そのディレクトリにスケルトンファイルを追加することです。「useradd」はホームディレクトリとスケルトンファイルを作成しません。
Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
# ll /home/
total 20
drwxr-xr-x 5 root root 4096 Oct 26 15:52 ./
drwxr-xr-x 22 root root 4096 Oct 26 15:47 ../
drwx------ 8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x 3 root root 4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x 2 try try 4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#