Linux で sudoers ファイルを編集する方法

Linux で sudoers ファイルを編集する方法

sudoers ファイルは、ユーザーが Linux 上でルートレベルのコマンドにアクセスする方法を制御します。デフォルトでは、Linux オペレーティング システムは、最初のユーザーを (インストール プロセス中に) 管理者としてセットアップし、それに sudo アクセスと適切なデフォルトを与えます。

ほとんどのユーザーにとって、これらのデフォルトは問題なく機能するため、変更を加える必要はありません。ただし、新しいユーザーに sudo アクセスを付与する、ユーザーのアクセスを削除する、sudo として実行できるユーザーを制限するなどの必要がある場合は、ファイルを編集する必要があります。

Sudoers ファイルの編集は、ターミナルでvisudoコマンドを使用して行います。編集目的で Sudoers ファイルを開くには、キーボードのCtrl + Alt + Tを押してターミナル ウィンドウを開く か、アプリ メニューでターミナルを検索します。

ターミナル ウィンドウが開いて使用できる状態になったら、root アカウントでターミナルにログインします。

注: Linux でsuコマンドを使用して root にログインできない場合は、root ログインを有効にする必要があります。これを行うには、sudo -sを実行し、続いてpasswdを実行します。

root としてログインしたら、visudoコマンドを実行して Sudoers ファイルを開きます。

編集者=ナノ・ヴィスド

Nano テキスト エディターがターミナルで起動すると、編集のために Sudoers ファイルがロードされます。Linux で sudo を編集する方法については、ガイドに従ってください。

新しいユーザーを Sudoers ファイルに追加する

おそらく、Sudoers ファイルを編集するときにユーザーが行う必要がある最も重要なことは、新しいユーザーを追加することです。新しいユーザーを追加するには、次のコード行を見つけます。

# User privilege specification

「root」の下に新しい行を作成し、新しいユーザーを指定します。たとえば、ユーザー「derrik」を sudo に追加するには、次のように記述します。

derrik  ALL=(ALL:ALL) ALL

ユーザーの追加が完了したら、Ctrl + Oを押して編集内容を保存できます。

グループ経由でユーザーを追加

「wheel」グループまたは「sudo」グループを介してユーザーを sudo に追加した場合は、Sudoers ファイルを編集せずにユーザーを削除できます。

ユーザーを追加するには、ターミナルを開いて次のコマンドを実行します。

su usermod -a -G ホイール ユーザー名

また

su usermod -a -G sudo ユーザー名

Sudoers ファイルからユーザーを削除する

以前に Linux システム上の Sudoers ファイルにユーザーを追加していて、そのユーザーを削除したい場合は、削除できます。ただし、まず次のコード行を見つけてください。

# User privilege specification

コード行を見つけたら、user 行を見つけます。たとえば、sudo から「derrik」ユーザーを削除するには、次のコード行を削除します。

Linux で sudoers ファイルを編集する方法

derrik ALL=(ALL:ALL) ALL

コード行を削除した後、Ctrl + Oを使用して編集内容を保存できます。

グループ経由でユーザーを削除する

「wheel」グループまたは「sudo」グループを介して sudo アクセスを追加した場合は、Sudoers ファイルを編集せずに sudo アクセスからユーザーを削除できます。代わりに、ターミナルを開いて次のコマンドを実行します。

su usermod -G ホイールのユーザー名

また

su usermod -G sudo ユーザー名

ユーザーが実行できるものを制限する

ユーザーを Sudoers ファイルに追加すると、デフォルトでは昇格した root アクセス権ですべてのコマンドを実行することが許可されるため、危険を伴う可能性があります。ユーザーに sudo へのアクセスを許可したいが、実行内容を制限したい場合は、次の手順を実行します。

まず、ユーザー行を見つけます。たとえば、以下のコードのように、指定された場合、「derrik」ユーザーが root として特定のコマンドのみを実行するように制限します。

derrik ALL=(root) /usr/bin/app/path/here/

各コマンドを制限するには、新しい行を追加する必要があります。編集が完了したら、Ctrl + Oを押して保存します。

パスワードなしで sudo を使用する

パスワードを追加せずにsudo コマンドを使用できるように、sudoers ファイルを編集することもできます 。この機能は「パスワードレス sudo」として知られています。優れた便利な機能です。ただし、安全ではない可能性があります。

Linux で sudoers ファイルを編集する方法

安全ではないことはわかっていても実行したい場合は、Linux でパスワードなしの sudo を有効にするためのガイドに従ってください。

sudo のセキュリティを強化する

セキュリティを重視する人は、sudo のセキュリティを強化することをお勧めします。ありがたいことに、 use_pty機能を有効にすることで Sudoer のセキュリティを強化することができます。この機能により、sudo はサンドボックス内で実行される必要があり、マルウェアによる悪用が困難になります。

この機能を有効にするには、Sudoers ファイル内で「Defaults」という行を含む領域を見つけます。次に、Enter キーを押して新しい行を作成します。次に、次のコードを追加してuse_pty機能を有効にします。

Defaults use_pty

編集が終了したら、Ctrl + Oを押します。

sudo タイムアウトの増加

デフォルトでは、ユーザーがsudoコマンドで間違ったパスワードを入力した場合、ユーザーをロックアウトするまでに 3 回の試行が許可されます。このタイムアウトは 3 回の試行からカスタムの値まで増やすことができます。

Sudoers ファイルで「Defaults」を見つけ、Enter キーを押して新しい行を作成し、次のコードを入力します。

Defaults  passwd_tries=CUSTOM_NUMBER

編集内容を保存するには、Ctrl + Oを押します。

パスワード入力を表示

Linux で sudoers ファイルを編集する方法

sudoコマンドで最も厄介な点の 1 つは、パスワード入力がどのように隠蔽されるかということです。公開したい場合は、パスワードのフィードバックを有効にする必要があります。パスワードのフィードバックを有効にするには、この件に関するガイドに従ってください


UbuntuサーバーにGitLabをインストールする方法

UbuntuサーバーにGitLabをインストールする方法

GitLab を Ubuntu サーバー上で動作させたいと考えていますか? GitLab は、GitHub のようなサービスに代わる、強力な自己ホスト可能な代替サービスです。これを使用すると、次のことができます

SELinux による Ubuntu Linux サーバーの保護

SELinux による Ubuntu Linux サーバーの保護

SELinux をインストールしてアクティブ化することで、Ubuntu Linux サーバーにセキュリティを追加する方法を学びます。

Cockpit を使用して Linux サーバー上で NFS を構成する

Cockpit を使用して Linux サーバー上で NFS を構成する

Linux サーバーに NFS 共有をマウントする簡単な方法が必要ですか? Cockpit アプリを使用して NFS 共有をマウントする方法を学びます。

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 LTS にアップグレードする方法

Ubuntu 22.04 の長期サポートが登場しました! デスクトップまたはラップトップを最新の Ubuntu リリースにアップグレードする方法を学びます。

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

最新の Nvidia GPU ドライバーを Linux にインストールする方法

Dockerコンテナにファイルを転送する方法

Dockerコンテナにファイルを転送する方法

ファイルを Docker コンテナに転送する必要がありますか? Docker cp ツールを使用すると、コンテナーとの間でファイルを簡単に移動できます。

Linux に DEB ファイルをインストールする方法

Linux に DEB ファイルをインストールする方法

.DEB ファイルとは何ですか? それを使って何をしますか?Linux PC に DEB ファイルをインストールするさまざまな方法を学びましょう。

GOG Galaxy を Linux 上で動作させる方法

GOG Galaxy を Linux 上で動作させる方法

GOG.com のゲームを所有していますか? ビデオ ゲームを楽しむために Linux PC に GOG Galaxy クライアントをセットアップしたいですか? このガイドに従ってください。

CentOS に Docker エンジンをインストールする方法

CentOS に Docker エンジンをインストールする方法

Docker Engine は、Linux およびその他のプラットフォーム用のオープン コンテナ化プログラムです。Docker Engine は、次のように動作する自己完結型コンテナを管理します。

Ferdi とすべてのチャットを 1 つにまとめる方法

Ferdi とすべてのチャットを 1 つにまとめる方法

Slack、Discord、その他多くの生産性向上ツールを Linux システムにインストールすることにうんざりしていませんか? それらをすべて 1 つに結合できたらいいのにと思いますか