前書き

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

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

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

ユーザーを追加する方法

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

adduser

https://www.digitalocean.com/community/articles/initial-server-setup-with-ubuntu-14-04のように、 `+ sudo +`権限が付与された非ルートユーザーとしてサインインしている場合[初期サーバーセットアップガイド]で、次のように入力して新しいユーザーを追加できます。

sudo adduser

いずれにしても、一連の質問が表示されます。 手順は次のとおりです。

  • 新しいユーザーのパスワードを割り当てて確認します

  • 新しいユーザーに関する追加情報を入力します。 これは完全にオプションであり、これらのフィールドを利用したくない場合は* Enter *を押してスキップできます。

  • 最後に、入力した情報が正しいことを確認するよう求められます。 * Y *を入力して続行します。

これで、新しいユーザーが使用できるようになりました! これで、設定したパスワードを使用してログインできます。

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

新しいユーザーがルート(管理)特権でコマンドを実行できるようにする必要がある場合は、新しいユーザーに「+ sudo 」へのアクセスを許可する必要があります。 この問題に対する2つのアプローチを調べてみましょう。ユーザーを定義済みの ` sudo ` _user group_に追加し、 ` sudo +`の設定でユーザーごとに権限を指定します。

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

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

`+ groups +`コマンドを使用して、新しいユーザーがどのグループに属しているかを確認できます。

groups newuser
Outputnewuser : newuser

デフォルトでは、新しいユーザーは自分のグループにのみ存在し、アカウントの作成時に作成され、ユーザーと名前を共有します。 ユーザーを新しいグループに追加するには、 `+ usermod +`コマンドを使用できます。

usermod -aG sudo

ここの「+ -aG 」オプションは、リストされたグループにユーザーを追加するよう「 usermod +」に指示します。

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

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

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

some_command

コマンドの前に `+ sudo +`を入力すると、管理者権限で同じコマンドを実行できます。

sudo some_command

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

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

ユーザーを* sudo *グループに入れる代わりに、 `+ visudo `コマンドを使用できます。このコマンドは、システムのデフォルトエディターで ` / etc / sudoers +`と呼ばれる設定ファイルを開き、 -ユーザーベース。

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

現在* root *としてサインインしている場合は、次を入力します。

visudo

`+ sudo +`権限を持つ非rootユーザーを使用してサインインしている場合、次を入力します。

sudo visudo

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

/ etc / sudoers

root    ALL=(ALL:ALL) ALL

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

/ etc / sudoers

root    ALL=(ALL:ALL) ALL
ALL=(ALL:ALL) ALL

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

ユーザーを削除する方法

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

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

deluser

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

sudo deluser

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

deluser --remove-home

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

sudo deluser --remove-home

削除したユーザーのsudo特権を以前に構成したことがある場合は、次のように入力して、関連する行を再度削除することができます。

visudo

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

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

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

結論

これで、Ubuntu 16.04システムでユーザーを追加および削除する方法について、かなり適切に処理できるはずです。 効果的なユーザー管理により、ユーザーを分離し、ジョブを実行するために必要なアクセス権のみを付与できます。

`+ sudo +`の設定方法の詳細については、https://www.digitalocean.com/community/articles/how-to-edit-the-sudoers-file-on-ubuntu-and-centosのガイドをご覧ください[sudoersファイルの編集方法]こちら。