新しい ubuntu ユーザーを追加します。 ブロックされたユーザーによる SSH アクセス

13.04.2019 ソーシャルメディア

チームからの新しいコースを皆さんにご紹介します コードビー- 「Web アプリケーションの侵入テストをゼロから」 一般理論、作業環境の準備、受動的なファジングとフィンガープリンティング、能動的なファジング、脆弱性、エクスプロイト後、 ツール、ソーシャルエンジニアリングなど。


仮に私が 新しいユーザー Ubuntu Linux 16.04.xx LTS。 すぐにいくつかの質問が出るかもしれません。 サーバー上に新しい sudo ユーザーを作成するにはどうすればよいですか? パラメータを使用して新しいユーザーをsudoerファイルに追加する方法 コマンドライン Ubuntuでは?

Linux (および Unix 一般) には、root と呼ばれるスーパーユーザーが存在します。 root ユーザーは何でもできるため、システムを通常に使用すると非常に危険になる可能性があります。 コマンドを誤って入力すると、システムが破壊される可能性があります。 sudo コマンドを使用すると、許可されたユーザーは、スーパーユーザー (root ユーザー) またはセキュリティ ポリシーで指定された別のユーザーとしてコマンドを実行できます。 多くの場合、sudo はサーバー上で通常のユーザーに管理者権限と特権を与えるために使用されます。 その中で クイックガイド Ubuntu で sudo ユーザーを作成する方法を学びます。

Ubuntu で sudo ユーザーを作成するために必要な手順はいくつかあります

Ubuntuサーバーの管理者グループとsudoグループについて詳しく読む

管理グループのメンバーは root 権限を取得できます。 sudo グループのすべてのメンバーは、Ubuntu サーバー上で任意のコマンドを実行します。 したがって、ユーザーを追加するだけです sudoグループ Ubuntuサーバー上で。 管理者グループの機能は、 Ubuntuのバージョン 12.04以降。 したがって、Ubuntu 12.04 以降では admin グループが存在しないか、単に使用されています。 これが機能する理由:

# grep -B1 -i "^%sudo" /etc/sudoers

$ sudo grep -B1 -i "^%sudo" /etc/sudoers

# グループ sudo のメンバーに任意のコマンドの実行を許可する %sudo ALL=(ALL:ALL) ALL

いくつかの実際的な例を見てみましょう。

コマンドラインを使用してsudoでvivekという名前の新しいユーザーを追加するにはどうすればよいですか?

ターミナルを開くか、ログインします。 リモートサーバー:

$ ssh root@サーバー名IP-here $ ssh [メールで保護されています](root@サーバー:/root) #

# 追加ユーザーヴィベク

$ sudo adduser vivek

図 01: Ubuntu に新しいユーザーを追加する方法

考えられるデータ出力の例:

Ubuntu で vivek アカウントの sudo ユーザーを作成する方法

次のコマンドを入力します。

# adduser vivek sudo

または、usermod コマンドを使用して、Linux 上のグループにユーザーを追加します。

# usermod -aG sudo vivek

$ sudo usermod -aG sudo vivek

$ sudo adduser vivek sudo

考えられるデータ出力の例:

図 02: ユーザー vivek を sudo に追加して管理者権限を取得する

次のコマンドを使用して、新しいユーザーとグループ メンバーを確認します。

$id ヴィベク

考えられるデータ出力の例:

図 03: ユーザーとグループの情報を表示する

これで、ユーザー vivek は次のように ssh コマンドを使用してログインできるようになります。

$ssh [メールで保護されています]

vivek が sudo コマンドを使用できることを確認してください。

$ sudo 猫 /etc/sudoers

初めて sudo コマンドを使用するときは、vivek アカウントのパスワードを入力するように求められます。 したがって、受信するには vivek パスワードを入力してください ルートアクセス。 sudo を使用するコマンドはすべて、vivek アカウントの root 権限で実行する必要があります。 ルート シェルを取得するには、次のように入力します。

$sudo –s

考えられるデータ出力の例:

図 03: vivek ユーザー アカウントの sudo アクセスのテスト

そして今、それができました。 他のユーザーが Ubuntu サーバー上で sudo を実行できるようにし、ユーザーに管理者権限を与えることができるようになりました。

2016年5月3日午後12時20分 17,765 ビュー | コメントはありません

ユーザー管理は、Linux 環境におけるシステム管理者の最も重要なスキルの 1 つです。 原則として、 新しいシステムデフォルトでは、ユーザーは root だけです。

root アカウントには広範な権限があり、非常に柔軟ですが、サーバーを root として継続的に実行することは強くお勧めできません。 実際、root ユーザーは絶対的な権限を持っているため、誤ってシステムやサーバーに取り返しのつかない損害を与える可能性があります。 なぜなら、 日々の仕事作成する必要があります 追加ユーザー通常の権限を使用して、スーパーユーザー権限を付与します。 サーバーにアクセスする必要がある他のユーザー用に追加のアカウントを作成することもできます。

このガイドでは、新しいユーザー アカウントの作成、sudo 権限の譲渡、ユーザーの削除の方法を説明します。

ユーザーの追加

新しいユーザーを root セッションに追加するには、次のように入力します。

セッション中 非ルート sudo アクセス権を持つユーザーの場合は、次のコマンドを使用して新しいユーザーを追加できます。

sudo adduser newuser

チームは以下を提供します:

  • パスワードを設定して確認します。
  • 追加のユーザー情報を入力します。 これはオプションです。 デフォルトの情報を受け入れるには、単に Enter キーを押します。
  • 提供された情報が正しいことを確認します (Enter キーを押します)。

新しいユーザーの準備ができました! これで、それを使用してサーバーに接続できるようになります。

sudo 権限の設定

使えるようになるには 新しいアカウント管理タスクを実行するには、ユーザーに sudo コマンドへのアクセスを許可する必要があります。 これは次の 2 つの方法で実行できます。

  1. ユーザーを sudo グループに追加する
  2. /etc/sudoers ファイルの sudo 設定を編集する

sudo グループにユーザーを追加する

Ubuntuシステム 16.04 では、sudo グループのメンバーであるすべてのユーザーがデフォルトで sudo コマンドにアクセスできます。

新しいユーザーがどのグループに属しているかを確認するには、次のように入力します。

コマンドは以下を返します:

新しいユーザー: 新しいユーザー

デフォルトでは、システムの各新しいユーザーは、同じ名前のグループにのみ含まれます。 ユーザーをグループに追加するには、次のように入力します。

usermod -aG sudo 新しいユーザー

–aG フラグは、リストされたグループにユーザーを追加します。

セットアップのテスト

次に、新しいユーザーが sudo コマンドにアクセスできることを確認する必要があります。

デフォルトでは、新しいユーザー セッションのコマンドは次のように起動されます。

管理者としてコマンドを実行するには、コマンドの先頭に sudo を追加します。

sudo some_command

システムは現在のユーザーのパスワードを尋ねます。

/etc/sudoers ファイルの編集

ユーザー権限を増やす別の方法は、sudoers ファイルを編集することです。 これを行うには、visudo コマンドを使用します。このコマンドを使用すると、エディターで /etc/sudoers ファイルを開き、各システム ユーザーの権限を明示的に指定できます。

このコマンドは複数の同時編集をブロックし、ファイルを上書きする前に内容をチェックするため、sudoers ファイルは visudo のみを使用して編集することをお勧めします。 これにより、権限の喪失につながる可能性のある sudo 設定のエラーが防止されます。

root セッションにいる場合は、次のように入力します。

セッションでは何もありません ルートユーザー sudo アクセスを使用して次のように入力します。

通常、visudo は vi エディターで /etc/sudoers を開きますが、初心者にとっては混乱する可能性があります。 新しいデフォルトでは Ubuntuのインストール visudo は、より使い慣れた nano エディタを使用します。 矢印キーを使用してカーソルを移動します。 次の行を見つけます。

ルート ALL=(ALL:ALL) ALL

この行をコピーして下に貼り付け、root をスーパーユーザー権限を譲渡するユーザーの名前に置き換えます。

ルート ALL=(ALL:ALL) ALL
新しいユーザー ALL=(ALL:ALL) ALL

拡張権限が必要なユーザーごとに次のような行を追加します。 ファイルを保存して閉じます。

ユーザーの削除

不要なアカウントは削除できます。

ユーザーを削除してファイルを残すには、次のように入力します。

ルートとして
デルユーザー新しいユーザー
どうやって 一般ユーザー拡張権限付き:
sudo deluser newuser

ユーザーをホーム ディレクトリとともに削除するには、次のコマンドを使用します。

root ユーザーセッション内
deluser --remove-home newuser
拡張権限を持つユーザーセッション内:
sudo deluser --remove-home newuser

もし 削除されたユーザースーパーユーザー権限を持っていた場合は、ファイルを編集してこれらの権限を剥奪する必要があります。

ヴィスド
または
須藤ヴィスド
ルート ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL # この行を削除します

この行がファイルに残っていて、同じ名前のユーザーがシステムに現れた場合、そのユーザーは自動的に拡張権限を受け取ります。 今はそんなことは起こらないでしょう。

結論

ユーザー管理は、Ubuntu 16.04 サーバーを管理するときに必要なスキルです。 これにより、ユーザーを分離し、作業に必要なアクセスのみを与えることができます。

入手用 追加情報 sudo の設定については、 を確認してください。

タグ: 、

皆さんこんにちは!

この記事では、新しいユーザーを追加する方法、その権限を変更する方法、またはユーザー パスワードを変更する方法について説明します。 Linux Ubuntu。 また、を使用して「アカウント」を作成する方法も グラフィカルユーティリティまたはコマンドラインから。

新しいアカウントを追加する最初の方法を見てみましょう。

クイック起動パネルから「システム設定」を開き、「アカウント」を選択します。

次に、追加の権限を取得する必要があります。 これを行うには、「ブロックを解除」ボタンをクリックします。

パスワードを入力して「認証」ボタンをクリックしてください

新しいユーザーを追加するには、「+」記号をクリックします

開いたフォームでアカウントの種類を選択します。 この標準ユーティリティでは、2 種類のユーザーを作成できます。

  • 普通
  • 管理者

ほとんどの場合、「通常」アカウントの種類で十分です。 ただし、将来、このユーザーに追加の権限が必要であることが判明した場合は、「アカウント」ユーティリティに戻ってアカウントの種類を変更するだけで十分です。

「通常」アカウントタイプを選択し、ユーザー名を追加して「追加」ボタンをクリックします。

新しいアカウントを取得しましたが、パスワードが設定されるまで有効になりません。

「パスワード」項目をクリックして、新しいアカウントを有効にします。

ヒントを使用して「強力な」パスワードを考え出し、それを「パスワードの確認」フィールドに再入力します。 「変更」ボタンをクリックして新しいアカウントを有効にします。

不要なアカウントを削除するには、アカウントを選択して「-」記号をクリックする必要があります

削除方法を選択するウィンドウが開きます。

次の 2 つのオプションがあります。

  • ホームディレクトリを削除すると
  • またはその保存とともに。
    • このユーザーのファイルが不要になった場合は、「ファイルを削除」をクリックします。/p>

      アカウントとホーム ディレクトリ内のすべてのファイルが削除されました。

      次に、新しいユーザーを追加する 2 番目の方法を見てみましょう。

      ターミナルを開いて次のコマンドを実行してみましょう。

      sudo adduser newusers

      追加の権限を取得するには、ユーザーのパスワードを入力し、キーボードの「Enter」キーを押す必要があります。

      パスワードを再入力し、キーボードの「Enter」キーを押します。

      追加 必要な情報すべてが正しく示されている場合は、「Y」と入力してキーボードの「Enter」キーを押して確認します。

      ただし、「管理者」権限を持つユーザーが必要な場合は、別のコマンドを実行して、そのユーザーを必要なグループ (adm、cdrom、sudo、dip、plugdev、lpadmin、sambashare) に追加する必要があります。

      sudo usermod -a -G adm、cdrom、sudo、dip、plugdev、lpadmin、sambashare newusers

      ユーザーが属しているグループを確認するには、次のコマンドを実行します。

      sudo ID 新しいユーザー

      任意のユーザーのパスワードを変更することも非常に簡単です。 passwd コマンドとユーザー ログインを入力します。

      sudo passwd newusers

      新しいユーザーのパスワードを入力し、キーボードの「Enter」キーを押します。

      次に、パスワードを再入力し、キーボードの「Enter」キーを押します。 すべてが正しく行われた場合は、「パスワードが正常に更新されました」というエントリが表示されるはずです。 このアカウントにログインするには、次のように入力する必要があります 新しいパスワード.

      消去 不要なユーザーそして彼 ホームフォルダーも非常にシンプルです。 これを行うには、ダイヤルします

      sudo userdel -r newusers

      残念ながら、上記のコマンドでは作業結果が表示されません。 ただし、ユーザー newusers がシステムに残っているかどうかを確認するには、別のコマンドを使用できます。

      sudo ID 新しいユーザー

      実行結果から、そのようなユーザーはシステムに存在しないことがわかります。

      新しいユーザーの追加、パスワードの変更、グループに追加してその権限を変更する方法、およびユーザーを削除する方法について説明しました。 このトピックに関してまだ不明瞭な質問や提案がある場合は、コメントに書き込んでください。 さようなら、皆さん!

ユーザー管理はシステム セキュリティの重要な部分です。 非効率なユーザーと権限管理により、多くのシステムが侵害されることがよくあります。 したがって、シンプルで効果的なユーザー アカウント管理手法を使用してサーバーを保護する方法を理解することが重要です。

スーパーユーザーはどこにいるのでしょうか?

Ubuntu 開発者は、すべての Ubuntu インストールでデフォルトで管理者ルート アカウント (root) をロックするという意識的な決定を下しました。 これは、root アカウントが削除されたり、アクセスできなくなったりすることを意味するものではありません。 これには、暗号化された値と一致しないパスワードが割り当てられるだけなので、直接ログインするために使用することはできません。

代わりに、ユーザーは と呼ばれるツールを使用することが推奨されます。 須藤管理業務を移管すること。 須藤許可されたユーザーは、スーパーユーザーに割り当てられたパスワードを知る代わりに、自分のパスワードを使用して一時的に権限を昇格できます。 こちらもシンプルで、 効果的なテクニックすべてのユーザーのアクションに対する説明責任を提供し、指定された権限を持つユーザーが実行できるアクションを管理者が制御できるようにします。

1. 何らかの理由でスーパーユーザー アカウントを許可したい場合は、そのアカウントにパスワードを設定します。

須藤パスワード

Sudo はパスワードを要求し、次に示すように新しい root パスワードを設定するよう求めます。

ユーザー名のパスワード: (独自のパスワードを入力) 新しい UNIX パスワードを入力: (新しいスーパーユーザーのパスワードを入力) 新しい UNIX パスワードを再入力: (新しいスーパーユーザーのパスワードを繰り返し) passwd: パスワードが正常に更新されました

2. root アカウントをロックするには、次の passwd 構文を使用します。

Sudo passwd -l root

須藤男

デフォルトでは、Ubuntu インストーラーによって作成された初期ユーザーは「admin」グループのメンバーであり、sudo 承認ユーザーとして /etc/sudoers ファイルに追加されます。 別のアカウントを許可したい場合 全権アクセススーパーユーザー経由 須藤、彼女をグループに追加するだけです 管理者.

ユーザーの追加と削除

管理プロセス ローカルユーザーグループはシンプルで、他のほとんどのグループとほとんど変わりません オペレーティングシステム GNU/Linux。 Ubuntu およびその他の Debian ベースのディストリビューションでは、アカウント管理に「adduser」パッケージの使用が推奨されています。

1. ユーザー アカウントを追加するには、次の構文を使用し、プロンプトに従ってパスワードと、氏名、電話番号などの識別情報を入力します。

Sudo adduser ユーザー名

2. ユーザーとそのプライマリ グループを削除するには、次の構文を使用します。

Sudo deluser ユーザー名

ユーザーを削除しても、それに関連付けられているホーム ディレクトリは削除されません。 ディレクトリを手動で削除するか、保持ポリシーに従って残しておくかは、ユーザーの裁量に任されています。

必要な予防措置を講じない限り、前と同じ UID/GID を持つユーザーを後で追加すると、このディレクトリにアクセスできることに注意してください。

これらのディレクトリの UID/GID 値を、スーパーユーザーの値など、より適切なものに変更し、将来の競合を防ぐためにディレクトリを移動することもできます。

Sudo chown -R root:root /home/username/ sudo mkdir /home/archived_users/ sudo mv /home/username /home/archived_users/

3. 一時的にブロックまたはブロック解除するには、次の構文を使用します。

Sudo passwd -l ユーザー名 sudo passwd -u ユーザー名

4. 個人グループを追加または削除するには、それぞれ次の構文を使用します。

Sudo addgroup グループ名 sudo delgroup グループ名

5. ユーザーをグループに追加するには、次のコマンドを使用します。

Sudo adduser ユーザー名 グループ名

ユーザープロファイルのセキュリティ

新しいユーザーが作成されると、adduser ユーティリティはそれに応じて新しい名前付きディレクトリを作成します。 /ホーム/ユーザー名。 デフォルトのプロファイルは、/etc/skel ディレクトリにあるコンテンツから生成されます。このディレクトリには、プロファイルを生成するための基本的なものがすべて含まれています。

サーバーに多くのユーザーが存在する場合は、機密性を維持するためにユーザーのホーム ディレクトリの権限に細心の注意を払う必要があります。 デフォルトでは、ユーザーのホーム ディレクトリは全員に読み取り/実行権限を与えて作成されます。 これは、すべてのユーザーが他のホーム ディレクトリのコンテンツを表示およびアクセスできることを意味します。 お使いの環境には適していない可能性があります。

1. 既存のユーザーのホーム ディレクトリへのアクセス権を確認するには、次の構文を使用します。

Ls -ld /ホーム/ユーザー名

次の出力は、/home/username ディレクトリに全員が読み取りアクセス権を持っていることを示しています。

Drwxr-xr-x 2 ユーザー名 ユーザー名 4096 2007-10-02 20:03 ユーザー名

2. 次の構文を使用して、全員の読み取り権限を削除できます。

Sudo chmod 0750 /home/ユーザー名

一部のユーザーは、すべての子ディレクトリとファイルを変更する再帰 (-R) オプションを無差別に使用する傾向がありますが、これは必須ではなく、他の問題につながる可能性があります。 望ましくない結果。 親ディレクトリ自体は、そのコンテンツへの不正アクセスを禁止します。

より効率的なアプローチ この問題のデフォルトのグローバル権限を変更します ユーザーを追加するホームディレクトリを作成するとき。 /etc/adduser.conf ファイルを編集して、DIR_MODE 変数をより適切なものに変更するだけで、すべての新しいホーム ディレクトリに正しいアクセス許可が与えられます。

DIR_MODE=0750

3. 前述のいずれかの手法を使用してディレクトリのアクセス許可を修正した後、次のコマンドを使用して結果を確認します。

Ls -ld /ホーム/ユーザー名

以下の出力は、読み取り権限が全員から削除されたことを示しています。

Drwxr-x--- 2 ユーザー名 ユーザー名 4096 2007-10-02 20:03 ユーザー名

パスワードポリシー

厳格なパスワード ポリシーは最も重要なものの 1 つです。 重要な側面セキュリティへのアプローチ。 成功したセキュリティ侵害の多くは攻撃に使用されています 簡単なハック(総当たり)および辞書を使用したパスワード選択 弱いパスワード。 何らかのフォームを使用する場合 リモートアクセスあなたの ローカルシステムパスワードを設定する場合は、適切な最小パスワード要件、パスワードの最大有効期間を割り当てて、認証システムを頻繁にテストしてください。

パスワードの最小長

デフォルトでは、Ubuntu ではパスワードの最小長が 6 文字であることと、いくつかの基本的な分散チェックが必要です。 これらの設定は /etc/pam.d/common-password ファイルによって制御され、以下にリストされます。

パスワード pam_unix.so あいまいな sha512

最小長を 8 文字に設定する場合は、対応する変数を min=8 に変更します。 変更点は以下の通りです。

パスワード pam_unix.so 不明瞭な sha512 min=8

基本的な品質チェックと最小パスワード長のチェックは、sudo レベルのコマンドを使用して新しいユーザーを設定する管理者には適用されません。

パスワードの有効期間

ユーザー アカウントを作成するときは、一定期間後にユーザーにパスワードの変更を強制する、パスワードの最小有効期間ポリシーと最大有効期間ポリシーを作成する必要があります。

1. ユーザー アカウントの現在のステータスを簡単に表示するには、次の構文を使用します。

Sudo chage -l ユーザー名

以下の出力は、 興味深い事実ユーザー アカウントについて、つまりポリシーが適用されていないことを示します。

最終パスワード変更: 2008 年 1 月 20 日 パスワードの有効期限: なし パスワードが非アクティブ: なし アカウントの有効期限: なし パスワード変更間の最小日数: 0 パスワード変更間の最大日数: 99999 パスワードの有効期限が切れるまでの警告日数: 7

2. これらの値を設定するには、次のコマンドを使用し、対話型プロンプトに従うだけです。

Sudo はユーザー名を変更します

以下は、明示的なパスワードの有効期限 (-E) を手動で 2008 年 1 月 31 日 (米国の日付 - およそ) に変更する方法の例です。 最低期間パスワードの有効期間 (-m) は 5 日、最大有効期間 (-M) は 90 日、非アクティブ期間 (-I) はパスワードの有効期限の 5 日後、警告期間 (-W) はパスワードの有効期限の 14 日前です。

須藤chage -E 01/31/2011 -m 5 -M 90 -I 30 -W 14 ユーザー名

3. 変更を確認するには、上記と同じコマンドを使用します。

Sudo chage -l ユーザー名

以下のコマンド出力は、アカウントに適用される新しいポリシーを示しています。

最終パスワード変更: 2008 年 1 月 20 日 パスワードの有効期限: 2008 年 4 月 19 日 パスワードが非アクティブ: 2008 年 5 月 19 日 アカウントの有効期限: 2008 年 1 月 31 日 パスワード変更間の最小日数: 5 パスワード変更間の最大日数: 90 日数パスワードの有効期限が切れる前の警告の回数: 14

その他のセキュリティに関する考慮事項

多くのアプリケーションは、経験豊富なユーザーでも見落としがちな代替認証メカニズムを使用しています。 システム管理者。 したがって、ユーザーがどのようにログインし、サーバー上のサービスやアプリケーションにアクセスするかを理解し、制御することが重要です。

ブロックされたユーザーによる SSH アクセス

通常のシャットダウン/ブロックは除外されません リモート接続ユーザーが以前に認証されていた場合はサーバーに接続します。 公開鍵 RSA。 このようなユーザーは、パスワードを入力せずにサーバー上のコンソール シェルにアクセスできます。 /home/username/.ssh/authorized_keys など、このタイプの SSH 認証を許可するファイルがないかユーザーのホーム ディレクトリを必ず確認してください。

ユーザーのホーム ディレクトリの .ssh/ ディレクトリを削除または名前変更すると、それ以降の SSH 認証機能が使用できなくなります。

受信接続または送信接続がまだ存在する可能性があるため、ブロックされたユーザーによって作成された SSH 接続を必ず確認してください。 見つけたものはすべて殺します。

限界 SSHアクセスそれらを必要とするユーザーアカウントのみ。 たとえば、「sshlogin」というグループを作成し、そのグループ名を /etc/ssh/sshd_config ファイルにあるAllowGroups変数の値として追加できます。

AllowGroups sshlogin

次に、SSH アクセスを許可されているユーザーを「sshlogin」グループに追加し、SSH サービスを再起動します。

Sudo adduser ユーザー名 sshlogin sudo サービス ssh 再起動

外部データベースを使用した認証

ほとんどの企業ネットワークでは、すべてのシステム リソースに対して集中認証とアクセス制御が必要です。 外部データベースに対してユーザーを認証するようにサーバーを構成している場合は、必ず無効にしてください。 アカウントしたがって、ローカル認証へのフォールバックは不可能であることがわかります。

原文: The Complete Guide to "useradd" Command in Linux - 15 Practical Examples
著者: ラヴィ・サイブ
発行日: 2014 年 3 月 28 日
翻訳: A. クリヴォシェイ
譲渡日:2014年12月

世界中で非常に人気があることは誰もが知っています Linuxコマンド「useradd」と「adduser」。 システム管理者は、特定のプロパティや制限を備えたユーザー プロファイルを作成するためにこれらを使用することがあります。

Linux またはその他の Unix ベースのシステムの「useradd」コマンドは、ユーザー アカウントの追加/作成に使用される低レベルのユーティリティです。 「adduser」コマンドは、単に「useradd」という点で非常によく似ています。 シンボリックリンク彼女に。

useradd コマンドのバージョンは、一部の Linux ディストリビューションでは若干異なる場合があります。 実験を始める前に、ディストリビューションのドキュメントを読むことをお勧めします。

ターミナルで useradd コマンドを実行すると、次のことが起こります。

1. ファイル /etc/passwd、/etc/shadow、/etc/group、および /etc/gshadow を編集し、新しいユーザーを追加します。
2. 新しいユーザーのホーム ディレクトリが作成され、入力されます。
3. ホームディレクトリのアクセス権と所有者が設定されます。

基本的なコマンド構文:

$useradd ユーザー名

この記事では、Linux での useradd コマンドの最も一般的な 15 の使用法を紹介します。 ストーリーを 2 つの部分に分けて説明します。

パート I: 基本と 10 の例;
パート II: 高度な機能と 5 つの例。

パート I - 「useradd」コマンドの基本的な使用例 10 個

1. Linux で新しいユーザーを追加する方法

新しいユーザーを作成/追加するには、「username」引数を指定して「useradd」コマンドを使用します。ここで、username はログインに使用される新しいユーザーの名前です。
一度に追加できるユーザーは 1 人だけであり、その名前は一意である必要があります (つまり、システム内にすでに存在する他のユーザーの名前とは異なる)。

たとえば、ユーザー「techmint」を追加します。

# useradd tecmint

このコマンドを実行すると、ロックされた状態で新しいユーザーが作成されます。 ユーザーアカウントのロックを解除するには、「passwd」コマンドを使用してパスワードを設定する必要があります。

# passwd tecmint ユーザー tecmint のパスワードを変更します。 新しい UNIX パスワード: 新しい UNIX パスワードを再入力します: passwd: すべての認証トークンが正常に更新されました。

新しいユーザーを作成すると、そのエントリはパスワード「/etc/passwd」に自動的に追加され、次のようになります。

Tecmint:x:504:504:tecmint:/home/tecmint:/bin/bash

これはコロンで区切られた 7 つのフィールドで構成され、それぞれに独自の目的があります。

ユーザー名: ログインに使用するユーザー名。 1 ~ 32 文字の長さを指定できます。
パスワード: ユーザーのパスワード(または x 文字)。暗号化されて /etc/shadow ファイルに保存されます。
ユーザーID (UID): 各ユーザーはユーザー ID (UID)、つまりユーザー識別子を持っている必要があります。 デフォルトでは、UID 0 は root 用に予約されており、1 ~ 99 の範囲の UID は他の事前定義されたアカウント用に予約されています。 100 ~ 999 の範囲の UID はユーザー アカウントとグループ用です。
グループID(GID): グループ ID (GID)、/etc/group ファイルに保存されます。
ユーザー情報: これはオプションのフィールドで、フルネームなどのユーザーに関する追加情報を指定できます。 このフィールドは、「finger」コマンドを使用して入力されます。
ホームディレクトリ: ユーザーのホーム ディレクトリへの絶対パス。
シェル: ユーザーのコマンド シェルへの絶対パス (/bin/bash など)。

2. 標準以外のホーム ディレクトリの場所でユーザーを作成する

デフォルトでは、「useradd」コマンドは /home にユーザーのホーム ディレクトリを作成し、それにユーザー名を付けます。 たとえば、上の例では、作成したユーザー「tecmint」のホーム ディレクトリが「/home/tecmint」に表示されます。
ただし、このアクションは、「-d」オプションの後に新しいホーム ディレクトリの場所を指定することで変更できます。 たとえば、次のコマンドは、「/data/projects」のホーム ディレクトリを持つユーザー「anusha」を作成します。

# useradd -d /data/projects アヌシャ

ユーザーのホーム ディレクトリの場所と、ユーザーに関するその他の情報を表示できます。

#猫/etc/passwd | grep アヌシャ アヌシャ:x:505:505::/data/projects:/bin/bash

3. 指定されたユーザー ID でユーザーを作成する

Linux では、各ユーザーは独自の UID (Unique Identification Number) を持ちます。 デフォルトでは、新しいユーザーを作成すると、ユーザー ID 500、501、502 などが割り当てられます。
ただし、「-u」オプションを使用すると、特定のユーザー ID を持つユーザーを作成できます。 たとえば、次のコマンドは、ユーザー ID「999」を持つユーザー「navin」を作成します。

# useradd -u 999 ナビン

これで、ユーザーがこの ID で作成されたことを確認できます。

#猫/etc/passwd | grep tecmint navin:x:999:999::/home/navin:/bin/bash

注: ユーザー ID は、システムにすでに存在するユーザーのユーザー ID とは異なる必要があることに注意してください。

4. 指定されたグループ ID を持つユーザーの作成

同様に、各ユーザーは独自の GID (グループ識別番号) を持ちます。 -g オプションを使用すると、特定のグループ ID を持つユーザーを作成できます。

この例では、指定された UID と GID を持つユーザー「tarunika」を追加します。

# useradd -u 1000 -g 500 タルニカ

コマンドが正しく機能したかどうかを確認してみましょう。

#猫/etc/passwd | grep タルニカ タルニカ:x:1000:500::/ホーム/タルニカ:/bin/bash

5. 複数のグループへのユーザーの追加

「-G」オプションは、ユーザーを追加のグループに追加するために使用されます。 グループ名はスペースを入れずにカンマで区切ります。
以下の例では、ユーザー「tecmint」を admins、webadmin、および開発者グループに追加します。

# useradd -G 管理者、webadmin、開発者 tecmint

次に、id コマンドを使用して、ユーザーがどのグループに属しているかを確認してみましょう。

# id tecmint uid=1001(tecmint) gid=1001(tecmint) groups=1001(tecmint),500(管理者),501(webadmin),502(開発者) context=root:system_r:unconfined_t:SystemLow-SystemHigh

6. ホームディレクトリを持たないユーザーの追加

状況によっては、セキュリティ上の理由からユーザーにホーム ディレクトリを与えたくないことがあります。 この場合、ユーザーがシステムの起動直後にログインすると、ユーザーのホーム ディレクトリは root になります。 このようなユーザーが su コマンドを使用すると、前のユーザーのホーム ディレクトリでのアクセスが許可されます。
ホームディレクトリを持たないユーザーを作成するには、「-M」オプションを使用します。 たとえば、ホームディレクトリを持たないユーザー「shilpi」を作成してみましょう。

# useradd -M シルピ

ls コマンドを使用して、ユーザーがホーム ディレクトリなしで作成されたことを確認してみましょう。

# ls -l /home/shilpi ls: /home/shilpi にアクセスできません: そのようなファイルまたはディレクトリはありません

7. 有効期限付きユーザーアカウントの追加

デフォルトでは、「useradd」コマンドを使用してユーザーを追加すると、そのアカウントの有効期限は切れません。つまり、有効期限は 0 (期限切れになりません) に設定されます。
ただし、「-e」オプションを使用して有効期限を設定し、YYYY-MM-DD 形式で日付を指定できます。 これは、特定のタスク用の一時アカウントを作成する場合に便利です。
以下の例では、アカウント有効期限日を YYYY-MM-DD の形式で 2015 年 4 月 27 日とするユーザー「aparna」を作成します。

# useradd -e 2015-03-27 アパルナ

# chage -l aparna 最終パスワード変更: 2014 年 3 月 28 日 パスワードの有効期限: なし パスワードが非アクティブ: なし アカウントの有効期限: 2015 年 3 月 27 日 パスワード変更間の最小日数: 0 パスワード変更間の最大日数: 99999パスワードの有効期限が切れる前の警告: 7

8. パスワードの有効期間が制限されたユーザーの作成

「-f」引数は、パスワードの有効期限が切れるまでの日数を指定するために使用されます。 デフォルトでは、その値は -1 であり、パスワードの有効期間は制限されません。
この例では、「-e」および「-f」オプションを使用して、ユーザー「tecmint」のパスワード有効期限を 45 日に設定します。

# useradd -e 2014-04-27 -f 45 tecmint

9. アカウントにさまざまなコメントを追加する

「-c」オプションを使用すると、ユーザーのフルネームや電話番号などの任意のコメントを /etc/passwd ファイルに追加できます。 たとえば、次のコマンドはユーザー「mansi」を追加し、彼のフルネーム Manis Khurana をコメント フィールドに挿入します。

# useradd -c "マニシュ・クラナ" マンシ

次のコマンドを使用して、「/etc/passwd」ファイル内のコメントを表示できます。

# tail -1 /etc/passwd mansi:x:1006:1008:Manis Khurana:/home/mansi:/bin/sh

10. ユーザーのコマンドシェルの変更

シェルをまったく使用しないユーザー、または他のシェルを使用する可能性のあるユーザーを追加する場合があります。 「-s」オプションを使用すると、任意のユーザーに個別のシェルを設定できます。
この例では、コマンド シェルを使用せずにユーザー「tecmint」を追加します。つまり、シェルを「/sbin/nologin」に設定します。

# useradd -s /sbin/nologin tecmint

確認してもいい コマンドシェルユーザーがコマンドを使用して:

# tail -1 /etc/passwd tecmint:x:1002:1002::/home/tecmint:/sbin/nologin

パート II: useradd コマンドの高度な機能

11. ホームディレクトリ、コマンドシェル、コメントを指定してユーザーを追加する

以下のコマンドは、「/var/www/tecmint」のホーム ディレクトリ、「/bin/bash」のシェル、およびユーザーに関する追加情報を持つユーザー「ravi」を作成します。

# useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

このコマンドでは、「-m -d」オプションは指定されたホーム ディレクトリにユーザーを作成し、「-s」オプションはコマンド シェルを指定します。 /bin/bash。 「-c」オプションはユーザーに関する追加情報を追加し、「-U」オプションはユーザーと同じ名前のグループを作成/追加します。

12. 指定されたホーム ディレクトリ、コマンド シェル、コメント、UID/GID を持つユーザーを追加します。

このコマンドは前のコマンドとよく似ていますが、ここではシェルを「/bin/zsh」として定義し、ユーザー「tarunika」の UID と GID を設定します。 ここで、「-u」は新しいユーザー UID (つまり 1000) を指定し、「-g」は GID (つまり 1000) を指定します。

# useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint テクニカル ライター" -u 1000 -g 1000 tarunika

13. ホームディレクトリを使用し、シェルを使用せず、コメントとユーザー ID を使用してユーザーを追加する

次のコマンドは前の 2 つと非常に似ていますが、唯一の違いは、指定されたユーザー ID (つまり 1019) を持つユーザー「avishek」のシェルを無効にすることです。 これは、ユーザー「avishek」がコマンド シェルからシステムにログインできないことを意味します。

# useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint シニア テクニカル ライター" -u 1019 avishek

14. ホームディレクトリ、スケルトンディレクトリ、コメント、およびユーザーIDを使用してユーザーを追加する

このコマンドでの唯一の変更点は、「-k」オプションを使用して、デフォルトの /etc/skel ではなく、スケルトン ディレクトリ (つまり、/etc/custom.skel) を指定することです。 また、「-s」オプションを使用して、別の /bin/tcsh シェルを指定します。

# useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "TecMint のアクティブなメンバーがいません" -u 1027 navin

15. ホームディレクトリなし、シェルなし、グループなし、コメントありのユーザーの追加

以下のコマンドは、前に示したものとは異なります。 ここでは、ホーム ディレクトリなしでユーザーを作成するにはオプション "-M" を使用し、(グループなしで) ユーザーのみを作成するにはオプション "-N" を使用します。 「-r」引数は、システム ユーザーを作成するために使用されます。

# useradd -M -N -r -s /bin/false -c "無効な TecMint メンバー" クレイトン