序章

新しいLinuxサーバーで実行する方法を知っておく必要がある最も基本的なタスクの1つは、ユーザーの追加と削除です。 新しいシステムを作成するとき、多くの場合(DigitalOcean Dropletsなど)、デフォルトでrootアカウントのみが与えられます。

root ユーザーとして実行している間、多くのパワーと柔軟性が得られますが、それは危険であり、破壊的である可能性があります。 ほとんどの場合、一般的なタスクを実行するために、特権のないユーザーを追加することをお勧めします。 また、システム上にいる可能性のある他のユーザー用に追加のアカウントを作成する必要があります。 各ユーザーは異なるアカウントを持っている必要があります。

と呼ばれるメカニズムを介して、必要なときに管理者権限を取得できます。 sudo. このガイドでは、ユーザーアカウントを作成し、割り当てる方法について説明します sudo 特権、およびユーザーを削除します。

ユーザーを追加する方法

root ユーザーとしてサインインしている場合は、次のように入力することで、いつでも新しいユーザーを作成できます。

  1. adduser newuser

与えられたroot以外のユーザーとしてサインインしている場合 sudo サーバーの初期設定ガイドに示されているように、特権は次のように入力して新しいユーザーを追加できます。

  1. sudo adduser newuser

いずれにせよ、一連の質問があります。 手順は次のとおりです。

  • 新しいユーザーのパスワードを割り当てて確認します
  • 新しいユーザーに関する追加情報を入力します。 これは完全にオプションであり、これらのフィールドを使用したくない場合は、Enterを押すことでスキップできます。
  • 最後に、提供した情報が正しいことを確認するよう求められます。 Yと入力して続行します。

これで、新しいユーザーを使用する準備が整いました。 これで、設定したパスワードを使用してログインできます。

:新しいユーザーが管理機能にアクセスする必要がある場合は続行してください。

ユーザーにSudo権限を付与する方法

新しいユーザーがroot(管理)権限でコマンドを実行できるようにする必要がある場合は、新しいユーザーに次のアクセス権を付与する必要があります。 sudo. この問題に対する2つのアプローチを調べてみましょう。事前定義されたユーザーにユーザーを追加する sudo ユーザーグループ、およびユーザーごとに特権を指定する sudoの構成。

新しいユーザーをSudoグループに追加します

デフォルトでは、 sudo Ubuntu 16.04システムでは、sudoグループのすべてのユーザーに完全な特権を拡張するように構成されています。

新しいユーザーがどのグループに属しているかを確認できます groups 指図:

  1. groups newuser
Output
newuser : newuser

デフォルトでは、新しいユーザーは、アカウント作成時に作成された自分のグループにのみ属し、ユーザーと名前を共有します。 ユーザーを新しいグループに追加するために、 usermod 指図:

  1. usermod -aG sudo newuser

The -aG ここのオプションは usermod リストされたグループにユーザーを追加します。

ユーザーのSudo権限をテストする

これで、新しいユーザーは管理者権限でコマンドを実行できるようになります。

新しいユーザーとしてサインインすると、通常どおりコマンドを入力して、通常のユーザーとしてコマンドを実行できます。

  1. some_command

次のように入力すると、管理者権限で同じコマンドを実行できます sudo コマンドの前に:

  1. sudo some_command

サインインしている通常のユーザーアカウントのパスワードを入力するように求められます。

/ etc/sudoersでの明示的なユーザー権限の指定

ユーザーをsudoグループに入れる代わりに、 visudo コマンドは、と呼ばれる構成ファイルを開きます /etc/sudoers システムのデフォルトエディタで、ユーザーごとに特権を明示的に指定します。

使用する visudo に変更を加えるための唯一の推奨される方法です /etc/sudoers、複数の同時編集に対してファイルをロックし、ファイルを上書きする前にその内容の健全性チェックを実行するためです。 これは、設定を誤った状況を防ぐのに役立ちます sudo 負けたために問題を解決できなくなります sudo 特権。

現在rootとしてサインインしている場合は、次のように入力します。

  1. visudo

root以外のユーザーを使用してサインインしている場合 sudo 特権、タイプ:

  1. sudo visudo

伝統的に、 visudo オープン /etc/sudoers の中に vi 経験の浅いユーザーを混乱させる可能性のあるエディタ。 デフォルトでは、Ubuntuの新規インストールでは、代わりに次を使用する必要があります nano、より使い慣れたテキスト編集エクスペリエンスを提供します。 矢印キーを使用してカーソルを移動し、次のような行を検索します。

/ etc / sudoers
root    ALL=(ALL:ALL) ALL

この行の下に、ここに表示されている形式をコピーし、「root」という単語のみを変更して、sudo特権を付与する新しいユーザーを参照します。

/ etc / sudoers
root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL

完全なsudo権限を付与する必要があるユーザーごとに、このような新しい行を追加する必要があります。 終了したら、 Ctrl-X Y Enter の順に押して、ファイルを保存して閉じることができます。

ユーザーを削除する方法

ユーザーが不要になった場合は、古いアカウントを削除することをお勧めします。

rootとして次のように入力すると、ファイルを削除せずにユーザー自体を削除できます。

  1. deluser newuser

sudo権限を持つ別の非rootユーザーとしてサインインしている場合は、代わりに次のように入力できます。

  1. sudo deluser newuser

代わりに、ユーザーが削除されたときにユーザーのホームディレクトリを削除する場合は、rootとして次のコマンドを発行できます。

  1. deluser --remove-home newuser

これをsudo権限を持つroot以外のユーザーとして実行している場合は、代わりに次のように入力します。

  1. sudo deluser --remove-home newuser

削除したユーザーに対して以前にsudo権限を構成していた場合は、次のように入力して、関連する行を再度削除することをお勧めします。

  1. visudo

または、sudo権限を持つroot以外のユーザーの場合は、これを使用します。

  1. sudo visudo
root    ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL   # DELETE THIS LINE

これにより、同じ名前で作成された新しいユーザーに誤ってsudo権限が与えられるのを防ぐことができます。

結論

これで、Ubuntu16.04システムにユーザーを追加および削除する方法をかなりうまく理解できるはずです。 効果的なユーザー管理により、ユーザーを分離し、仕事をするために必要なアクセスのみをユーザーに与えることができます。

構成方法の詳細については sudosudoersファイルの編集方法に関するガイドをここで確認してください。