Linuxでユーザーを作成する方法

Linuxで新しいユーザーを作成するには、useraddコマンドを使用します。ユーザーのデフォルトのシェルを割り当てる-s、ホームディレクトリを作成するための-m、特定のグループにユーザーを追加するための-Gなどのオプションフラグを指定して、ユーザー名を指定します。

Linuxコンピューターにユーザーを追加することは基本的な管理タスクであり、これを実現するにはいくつかの方法があります。ユーザーを作成する方法にはそれぞれ長所と短所があり、ここでは3つの異なるユーザー作成の手法を紹介します。

Linuxコンピューターにユーザーが必要な理由

ユーザーのいないパーソナルコンピューターは、ほとんど役に立ちません。Linuxは複数のユーザーをサポートしています。同時にログインしてコンピューターの電源を共有したり、マシンを独占的に使用しているときに単独でログインしたりするかにかかわらず、各ユーザーには一意のユーザーアカウントが必要です。

ユーザーアカウントは、そのユーザーの作業をカプセル化し、プライバシーを提供します。また、アカウントに制御とガバナンスを適用することもできます。異なるユーザーは、所属するグループなど、ユーザーアカウントの属性を変更することで、ニーズや役割、機能に応じて異なる権限を持つことができます。

家族とコンピューターを共有している場合でも、組織のマルチユーザーインストールを管理している場合でも、ユーザーアカウントの作成は基本的な管理スキルです。

useraddコマンドで新しいLinuxユーザーを作成する

useraddコマンドは、ユーザーを追加するために使用される最低レベルのコマンドです。他のコマンドは、useraddコマンドのより使いやすいフロントエンドとして機能します。これにより、利便性が向上し、プロセスが容易になりますが、他のコマンドでは、useraddpasswdコマンドの少しの助けを借りて達成できないことは何も行えません。

useraddコマンドには多くのオプションがあり、一般的な新しいユーザーを作成するために必要なオプションを以下に示します。言うまでもなく、ユーザーを追加するにはsudoを使用する必要があります。

sudo useradd -s /bin/bash -m -c "Mary Quinn" -Gsambashare maryq

このコマンドは次の内容で構成されています。

  • sudo: 新しいユーザーがコンピューターにアクセスできるようにするには、管理者権限が必要です。
  • useradd: useraddコマンド。
  • -s /bin/bash: シェルオプション。これは、この新しいユーザーのデフォルトのシェルを設定します。
  • -m: ホームディレクトリを作成するオプション。これは、新しいユーザーアカウント名と同じ名前のディレクトリを"/home/"ディレクトリに作成します。
  • -c "Mary Quinn": 新しいユーザーのフルネーム。これはオプションです。
  • -Gsambashare: 追加のグループオプション。これはオプションです。新しいユーザーは、アカウント名と同じ名前のグループに追加されます。-Gオプション(大文字の「G」に注意)は、ユーザーを補助グループに追加します。グループはすでに存在している必要があります。また、新しいユーザーを「sambashare」グループのメンバーにもしています。
  • maryq: 新しいユーザーアカウントの名前。これは一意である必要があります。別のユーザーにすでに使用されていることはできません。

これにより、新しいユーザーアカウントが作成され、ホームディレクトリが作成され、いくつかのデフォルトの隠しファイルが設定されます。次のようにしてホームディレクトリを調べることができます。

sudo ls -ahl /home/maryq

新しいユーザーはログインできません。私たちは彼らのためのパスワードを作成していません。-p(パスワード)オプションを使用してパスワードをuseraddコマンドに渡すことは可能ですが、これは悪い習慣とみなされます。さらに、パスワードを暗号化された形式で提供する必要があるため、聞こえるほど簡単ではありません。

新しいアカウントのパスワードを設定するには、passwdコマンドを使用するのがより簡単で安全です。

sudo passwd maryq

パスワードの入力を求められ、次にそれを確認するために再度入力するよう求められます。このパスワードは、新しいユーザーに安全に伝達する必要があります。ログイン時にパスワードの変更を求めることをお勧めします。これにより、彼らは自分のパスワードを選択でき、他の誰もそれを知ることはありません。

sudo passwd --expire maryq

"/etc/passwd"ファイル内を調べることで、新しいユーザーアカウントを表示し、既存のユーザーアカウントと比較することができます。

grep -E "dave|maryq" /etc/passwd

コロン「:」で区切られたフィールドは、順に次のとおりです。

  • maryq: ユーザーアカウントの名前。
  • x: このフィールドの「x」は、ユーザーアカウントのパスワードが暗号化され、「/etc/shadow」ファイルに保持されていることを意味します。
  • 1001: ユーザーアカウントID。
  • 1001: このユーザーアカウントのデフォルトグループのID。
  • Mary Quinn: これはGECOSフィールドです。カンマ「,」で区切られた追加情報の値のセットを保持できます。追加したのはユーザーのフルネームだけです。
  • /home/maryq: このアカウントのホームディレクトリへのパス。
  • /bin/bash: このアカウントのデフォルトシェルのパス。

新しいユーザーが最初にログインすると、ユーザーのために作成したパスワードを使用します。

パスワードを「期限切れ」の状態に設定したため、変更するように求められます。既存のパスワードを再入力する必要があります。

次に、新しいパスワードの入力を求められます。

新しいパスワードを入力して「Enter」キーを押すと、パスワードを再入力して確認するように求められます。

最後に、ログインします。これからは新しいパスワードを使用してログインする必要があります。

いくつかのハウスキーピングが実行され、通常の「ドキュメント」、「ダウンロード」、およびその他のディレクトリがホームディレクトリ内に作成されます。

GECOSフィールドには、最大5つのコンマ区切りの情報を含めることができます。これらはめったに使用されません。いずれかが設定されている場合、通常は1つ目がこのアカウントの所有者の実世界の名前を保持します。

フィールドは次のとおりです。

  • このユーザーの実世界の名前。
  • このユーザーの部屋番号。
  • 勤務先の電話番号。
  • 自宅の電話番号。
  • その他の情報。

アカウントを作成するときにこれらすべてを提供したい場合は、次のように行うことができます。

sudo useradd -s /bin/bash -m -c "Mary Quinn,Operations 1,555-6325,555-5412,Team Leader" -Gsambashare maryq

grepを使用して、この情報が「/etc/passwd」ファイルに格納されていることを確認できます。

grep maryq /etc/passwd

アカウントを作成するときにこの情報が手元にない場合は、chfnコマンドを使用して後で追加または変更できます。

この情報は、fingerpinkyなどのコマンドで使用されます。

finger maryq

adduserコマンドで新しいユーザーを作成する

adduserコマンドは、アカウントの作成、ホームディレクトリ、パスワードの設定、GECOSフィールド情報の取得を1つの対話型セッションにまとめます。

adduserコマンドは、UbuntuとFedoraのテストマシンにはすでに存在していましたが、Manjaroにはインストールする必要がありました。Arch User Repositoryにあるため、yayなどのAURヘルパーを使用してインストールする必要があります。

yay adduser

プロセスを開始するには、sudoを使用して追加するユーザーアカウントの名前を指定します。

sudo adduser maryq

ユーザーアカウントのデフォルトグループが作成され、そのグループをデフォルトとしてユーザーアカウントが追加されます。ホームディレクトリが作成され、隠し設定ファイルがコピーされます。

パスワードの入力を求められます。

パスワードを入力して「Enter」キーを押すと、パスワードを再入力して確認するように求められます。

GECOSフィールドに入力できる情報がそれぞれ順番に尋ねられます。

情報を提供して「Enter」キーを押して次のフィールドに移動するか、「Enter」キーを押してフィールドをスキップします。

最後に、提供した情報が正しいかどうかを尋ねられます。「Y」キーを押して「Enter」キーを押してプロセスを完了します。

新しいアカウントのパスワードを「期限切れ」に設定して、新しいユーザーが最初にログインしたときに変更する必要があるようにしてください。

sudo password --expire maryq

新しいユーザーを作成するためにGNOMEユーザー設定(GUIオプション)を使用する

GNOMEデスクトップ環境で新しいユーザーを作成するには、電源、音量、ネットワークアイコンの近くにあるGNOMEパネルの右端をクリックしてシステムメニューを開きます。

「設定」メニューエントリをクリックします。

設定アプリケーションが開きます。サイドバーの「ユーザー」エントリをクリックし、「ユーザー」ペインの「ロック解除」ボタンをクリックします。

パスワードを入力する必要があります。

緑色の「ユーザーを追加」ボタンが表示されます。

このボタンをクリックします。「ユーザーを追加」ダイアログが表示されます。新しいユーザーの詳細をキャプチャするフォームが含まれています。

新しいユーザーの詳細を使用してフォームに記入します。sudoを使用できるようにしたい場合は、「管理者」ボタンをクリックします。

今すぐパスワードを設定するか、最初にログインしたときにパスワードを選択するまで待つことができます。パスワードを設定した場合は、ターミナルウィンドウを開いてpasswdコマンドを使用して「期限切れ」状態に設定することを忘れないでください。そうすると、最初にログインしたときに独自のパスワードを設定する必要があります。

GUIを使用して新しいユーザーの作成を完了しようとしているときに、ターミナルに移動するのは少し面倒です。

「ユーザーが次回ログインする際に独自のパスワードを設定できるようにする」ラジオボタンをクリックすると、ユーザーがログインしようとすると新しいパスワードの入力を求められます。しかし、ここで欠点は、新しいアカウントを使用しようとする最初の人がパスワードを設定できることです。したがって、アカウントが作成されたことを知っていて、本物の新しいユーザーよりも先にログインしようとする人は誰でもアカウントを引き継ぐことができます。

これらの状況のいずれも理想的ではありません。

フォームの入力が完了して選択したら、緑色の「追加」ボタンをクリックします。

「ユーザーが次回ログインする際に独自のパスワードを設定できるようにする」オプションを選択しました。ユーザーがログインしようとすると、新しいパスワードの入力を求められます。しかし、前に見た手順とは異なり、現在のパスワードの入力を求められません。現在のパスワードがありません。

予想通り、確認のためにう一度入力する必要があります。

どのユーザー追加方法を使用すればよいでしょうか?

どのユーザー作成手法が最適かわからない場合。まあ、useraddコマンドはきめ細かな制御を提供しますが、コマンドラインで正しく行うべきことがたくさんあります。

adduserコマンドは作業を容易にしますが、新しいユーザーを追加のグループに入力することはできません。

GNOMEのGUIメソッドには、どちらのパスワードラジオボタンを選択しても欠点があります。

ほとんどの非公式または家庭的な状況では、adduserコマンドはおそらく機能と機能のバランスが最も優れています。新しいユーザーを追加のグループに追加する必要がある場合は、usermodコマンドを使用して作成後に追加できます。