Ubuntu でユーザーを sudoer として追加する方法を学ぶ前に、どのようにしてここに到達するのかを理解する必要があります。たとえば、Ubuntu でサービスを管理したり、ソフトウェアをインストールまたは更新したりする場合です。上記のいずれかを試みるためにコマンドを実行しようとしたときに、「アクセスが拒否されました」というフィードバックが返されたことがありますか?
このようなインスタンスでは、root またはスーパーユーザーとしてコマンドを実行する必要があります。ただし、このアプローチはセキュリティ上の理由からお勧めできません。 root としてコマンドを実行すると、ユーザーが設定を間違えた場合にシステムに問題が発生する可能性があります。
最もよく使用されている Linux ディストリビューションの 1 つである Ubuntu には、ユーザーが root としてログインする代わりに高度な権限でコマンドを実行できるようにする sudo として知られる機能があります。
この記事では、sudoer とは何か、sudoer が必要な理由、および sudoer を Ubuntu オペレーティング システムに追加する方法について説明します。
Sudo/スドーアーズとは?
しかし、なぜ
su
または switch user コマンドを使用しないのでしょうか? switch user コマンドを使用すると、root としてログインできます。これを実行すると、システムは root パスワードを要求するので、必要な操作を行うことができます。新しいファイル/ソフトウェアを追加して、すべての変更を加えることができます。ただし、root としてログアウトするのを忘れる可能性があり、単純なタイプミス 1 つで重要なファイルやハード ドライブ全体が消去される可能性があります。
Sudo は「superuser do」の短縮形です。このようなユーザーは、昇格された特権でコマンドを実行し、ソフトウェアのインストールと更新、さらにはシステム設定の変更を行うことができます。 sudoer は、そのような権限を持つユーザーです。 Sudo ユーザーは、Ubuntu でコマンドを実行する前に、常に「sudo」キーワードを使用する必要があります。ただし、コマンドの実行後にログアウトする必要はありません。
Ubuntu システムに複数のユーザーがいる場合、すべてのユーザーが sudo 権限を持っているわけではありません。ただし、インストール中に、最初に作成したユーザーにはデフォルトで sudo 権限が与えられます。 sudoers ファイルまたはグループのユーザーのみが sudo コマンドを実行できます。
- sudoers ファイル – どのユーザーが sudo をどのように使用できるかを定義する構成ファイル。
- Sudoers グループ – sudo 権限を持つユーザーの特別なグループ。
ユーザーに sudo アクセスを許可する必要があるシナリオ
特定のユーザーに、個人用またはオフィスのコンピューター上で sudo コマンドを実行することを許可することができます。次の場合に許可できます。
- root アクセスが必要なタスクを実行する必要がある管理者または開発者のチームがいます。たとえば、ソフトウェアのインストールやシステムの更新が必要になる場合があります。
- システム内の特定のファイルまたはディレクトリへのユーザーのアクセスを制限したいが、ユーザーにはフル アクセスを与えません。
- root アクセスを必要とする 1 回限りのタスク用のゲスト ユーザーがいます。たとえば、特殊なソフトウェアをインストールして構成したり、システムを更新したりする人が必要です。
ユーザーに sudo 権限を付与することの重要性
- システムのセキュリティを向上させる: ユーザーが root ユーザーとしてシステムにログオンできるようにする必要はありません。これにより、システムが潜在的な脅威やエラーにさらされる可能性があります。 sudo 権限を与えると、必要なものにのみアクセスできるようになります。
- 権限をカスタマイズできます。sudo ユーザーを追加すると、ユーザーが実行できるコマンドと実行できるタイミングを指定できます。これらのユーザーがそのようなコマンドを実行するためにパスワードが必要かどうかを指定することもできます。
- ユーザーの監視が簡単になります 。/var/log/auth.log ファイルをチェックして、sudoers がシステム上で実行するすべてのコマンドを確認できます。
sudoers ファイルにユーザーを追加するための前提条件
- sudo 権限を持つユーザー アカウント: sudo 権限を持つアカウントにログインしているときに、ユーザーを sudoers に追加する必要があります。
- ユーザー名: システムに複数のユーザーがいる場合は、sudoers ファイルまたはグループに追加するユーザーのユーザー名を知っておく必要があります。
- テキスト エディター: Ubuntu はデフォルトのエディターとして Nano を使用します。ただし、他の人に変更することもできます。
sudoers ファイルにユーザーを追加する
ユーザーを sudoers ファイルに追加するには、いくつかの方法があります。ただし、その前に、新しいユーザーを作成する必要があります。
「titus」という名前の新しいユーザーを作成したいと思います。以下の手順に従ってください。
-
sudo 権限を持つユーザー アカウントにログインし、コマンド
sudo adduser titus
を実行します。 「titus」を作成するユーザーの名前に置き換えることができます。
- パスワードを入力してください。コマンドラインでは、パスワードの入力を求められます。
- 新しいパスワードを設定して確認します
- プロンプトに従い (デフォルトを選択できます)、「Y」をクリックしてすべての詳細を確認します。
新しいユーザーが追加されました。
Ubuntu で sudoers を追加するには 2 つのアプローチがあります
#1: ユーザーを sudo グループに追加します
これで、作成したユーザーを sudo グループに追加できます。別の sudo ユーザーまたは root ユーザーとしてサインインしているときにこのコマンドを実行します。
sudo usermod -aG sudo username
「ユーザー名」を sudoer にしたいユーザーに置き換えます。私の場合、コマンドは次のようになります。
sudo usermod -aG sudo titus
これで、新しいユーザーが sudo グループに追加されました。
#2: Sudoers ファイルにユーザーを追加
Ubuntu のような典型的な Linux システムにはさまざまなユーザーがいることをすでに見てきました。このようなユーザーには、システム内で異なる Linux ファイルおよびディレクトリのアクセス許可を許可できます。たとえば、Unix システムでユーザーにファイルの「読み取り」、「書き込み」、または「実行」を許可できます。
これを sudoers ファイルで定義することで、どのユーザーが sudo をどのように使用できるかを定義できます。このパス /etc/sudoers を使用して sudoers ファイルを見つけます。
sudo 権限を持たないユーザーがすでにいると仮定して、次の手順に従います。
- 端末を開きます
- このコマンドを使用してファイルを開きます
sudo visudo
パスワードの入力を求められます。
- ファイルを編集します。コマンドを実行すると、次のようになります。
「kamunya」という名前のユーザーがいて、すべての sudo 権限を与えたいと思っています。
次のようなセクションを見つけます。
# User privilege specification
root ALL=(ALL:ALL) ALL
次のように、「kamunya」にすべての sudo 権限を許可する行を追加できます。
kamunya ALL=(ALL:ALL) ALL
- 保存して終了。これらのショートカットを使用できます: Ctrl+O で変更を書き込み、Ctrl+X で終了します。
これで、sudoers ファイルを通じて追加した新しい sudo ユーザーが作成されました。パスワードを必要とせずにソフトウェアを更新するなどの特定の権限をユーザー (kamunya) に付与したい場合は、同じ手順に従って次の行を追加することもできます。
kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade
ユーザーが sudo 権限を持っているかどうかを確認する方法
これらの手順をすべて実行したとしても、システム上のユーザーが sudoers であるかどうかはまだわかりません。これらのアプローチを使用して、次のことを確認できます。
sudoコマンドを使用する
「titus」という名前のユーザーが sudoer であるかどうかを確認します。コマンドは次のようになります。
sudo -l -U titus
「titus」を確認したいユーザーのユーザー名に置き換えることができます。
ユーザーが sudoer の場合、これに近い結果が得られます。
ユーザーに sudo 権限がない場合、 「ユーザー ‘username’ は ‘name of your machine’ で sudo を実行することはできません」 というエラーが発生する可能性があります。
sudoグループを確認する
sudo ユーザーを作成すると、システムはこのユーザーを、選択したユーザー名を持つグループに自動的に割り当てます。たとえば、「tk」という名前の sudo ユーザーがいます。このコマンドを使用して、このユーザーがグループに属しているかどうかを確認できます。
groups tk
「tk」をユーザー名に置き換えることができます。
これに似たものが得られます。
sudo ユーザーを削除する方法
sudo ユーザーを削除したい場合がいくつかあります。たとえば、プロファイルの設定時に失敗した、または作成したユーザーが 1 回限りのタスクを実行するはずだったなどです。
GUI またはコマンド ラインを使用して、Ubuntu システムからユーザーを削除できます。コマンド ラインを使用してユーザーを削除する方法は次のとおりです。
- このコマンド sudo deluser username を実行します。ここで、「username」を削除するプロファイルに置き換えます。この方法ではユーザーは削除されますが、ユーザー ファイルは残ります。
ユーザーの 1 人 (kamunya) を削除しました
ユーザー ファイルを削除する場合は、次のようにコマンドを実行します。
sudo deluser --remove-home username
私の場合は次のようになります。
sudo deluser --remove-home kamunya
sudoers ファイルでユーザーを管理するためのベスト プラクティス
-
visudo
コマンドを使用する: sudoer ファイルに sudoer を追加する場合は、常にvisudo
コマンドを使用してください。完了したら、タイプミスがないか確認し、保存してエディターを終了します。 - グループを使用する: 個人を sudo ユーザーとして追加する代わりに、新しいユーザーを追加するたびに、そのユーザーをグループに追加できます。さまざまな権限を持つ「管理者」や「開発者」などのさまざまなグループを作成できます。
- ドキュメントへのアクセス: sudo 権限を与えたユーザーとそのユーザーに何ができるかを記録してください。このようなアプローチにより、新入社員が変更があった場合に選択しやすくなります。
- アクセスを監視する: sudoers として追加したさまざまなユーザーがシステムにログインしている内容を常に監視します。頻繁にレビューを行うと、ニーズの変化に応じてユーザーを削除したり、権限を変更したりすることもできます。
結論
Ubuntu は、管理者やプログラマーが最もよく使用するオペレーティング システムの 1 つです。ただし、システムにアクセスするときは、適切なユーザーに適切な権限を与えるようにする必要があります。
sudoer とは何か、また、sudoer を Ubuntu に追加するためのさまざまなアプローチについて理解できました。このようなユーザーは、完全なアクセス権を使用してシステムにログインする必要はなくなりましたが、作業を完了するために必要な制限された権限を使用してログインする必要がありました。
システム管理者として知っておくべき Linux パフォーマンス コマンドをいくつか調べることもできます。