Linux でパスワードを入力せずに sudo コマンドを実行する方法

Linux でパスワードを入力せずに sudo コマンドを実行する方法

sudo コマンドを使用すると、信頼できるユーザーは別のユーザー (デフォルトでは root ユーザー) としてプログラムを実行できます。コマンドラインで多くの時間を費やす場合、sudo は常に使用するコマンドの 1 つです。

通常、sudo アクセスを許可するには、sudoers ファイルで定義されている sudo グループにユーザーを追加します。 Debian、Ubuntu およびその派生版では、sudo グループのメンバーに sudo 権限が与えられます。CentOS や Fedora などの RedHat ベースのディストリビューションでは、sudo グループの名前は wheel です。

sudo コマンドを実行する前に、グループの各メンバーにパスワードの入力が求められます。これにより、セキュリティの層が追加され、ユーザーに sudo 権限を付与するための推奨される方法になります。

以下のように表示されます。

ただし、自動スクリプトを実行する場合など、場合によっては、sudoers ファイルを構成し、特定のユーザーがパスワードを要求せずに sudo コマンドを実行できるようにする必要があります。

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

sudoers ファイルには、ユーザーとグループの sudo 権限を決定する情報が含まれています。

sudoers ファイルを変更するか、 /etc/sudoers.d sudoers.d ディレクトリに設定ファイルを追加することで、ユーザーの sudo アクセスを設定できます。このディレクトリ内のすべてのファイルは sudoers ファイルに含まれます。

変更を加える前に、現在のファイルをバックアップすることをお勧めします。

linuxidc@linuxidc:~/www.linuxidc.com$ sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}

date コマンドは、バックアップ ファイル名に現在の日付を追加します。

visudo コマンドを使用して /etc/sudoers ファイルを開きます。

sudo visudo

sudoers ファイルに変更を加えるときは、常に visudo を使用してください。このコマンドは編集後にチェックを行い、構文エラーがある場合は変更は保存されません。 ファイルをテキスト エディターで開くと、構文エラーが発生し、sudo アクセスが失われます。

ほとんどのシステムでは、visudo コマンドは vim テキスト エディターを使用して /etc/sudoers ファイルを開きます。 vim の経験がない場合は、別のテキスト エディターを使用できます。 たとえば、エディターを GNU nano に変更するには、次のコマンドを実行します。

sudo EDITOR=nano visudo

ファイルの最後までスクロールし、次の行を追加します。これにより、ユーザー「linuxidc」は、最初にパスワードを尋ねられることなく、sudo を使用して任意のコマンドを実行できるようになります。

/etc/sudoers

linuxidc ALL=(ALL) NOPASSWD:ALL

以下のように表示されます。

「linuxidc」を、アクセスを許可するユーザー名に変更することを忘れないでください。

ユーザーがパスワードを入力せずに特定のコマンドのみを実行できるようにするには、NOPASSWD キーワードの後に​​コマンドを指定します。

たとえば、mkdir コマンドと mv コマンドのみを許可するには、次のようにします。

/etc/sudoersファイル内

linuxidc ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv

完了したら、ファイルを保存してエディターを終了します。

/etc/sudoers.dの使用

sudoers ファイルを編集する代わりに、認証ルールを含む新しいファイルを /etc/sudoers.d ディレクトリに追加できます。 このアプローチにより、sudo 権限の管理がより保守しやすくなります。

テキスト エディターを開き、ファイルを作成します。

sudo nano /etc/sudoers.d/linuxidc

ファイルには任意の名前を付けることができますが、通常はユーザー名をファイル名として使用するのが最適です。

/etc/sudoers.d/linuxidc

sudoers ファイルに追加したのと同じルールを追加します。

linuxidc ALL=(ALL) NOPASSWD:ALL

最後に、ファイルを保存してエディターを閉じます。

要約する

非 root ユーザーが管理タスクを実行するために必要なスクリプトがある場合、パスワードなしで sudo を実行すると便利です。

上記は、パスワードを入力せずに Linux で sudo コマンドを実行するために紹介した方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux が Sudo 権限昇格の脆弱性を公開、どのユーザーでも root コマンドを実行可能
  • Linux で Sudo を使用して権限を委譲する
  • sudo、su、su の違いのまとめ - Linux のコマンド
  • Linux システムの sudo コマンドに関する 10 のヒントのまとめ
  • Linux で sudo su を使用して一般ユーザーにルート権限を追加する方法
  • Linux における sudo の詳細な設定とその設定ファイル /etc/sudoers の詳細な説明
  • Linuxシステムのsudoコマンドの詳細な説明
  • Linux環境でユーザーにsudo権限を追加する方法

<<:  外部ネットワークアクセスを許可するためのMysql5.6の設定手順の詳細を共有する

>>:  LinuxにMySQLをインストールし、外部ネットワークアクセスを構成する例

推薦する

nginx httpモジュールのデータ保存構造の概要

このセクションから、http モジュールの実装原理について説明します。http モジュールで非常に重...

MySQL 8.0.22 のダウンロード、インストール、設定方法のグラフィックチュートリアル

参考までにMySQL 8.0.22をダウンロードしてインストールしてください。具体的な内容は次のとお...

VMware 仮想マシンでの Centos8 ブリッジの静的 IP 設定方法

1. ネットワーク接続方法がブリッジされていることを確認する物理ネットワーク接続ステータスのコピーを...

CSS3はブラウザのスクロールバーのスタイルを変更します

注意: この方法は、Webkit ベースのブラウザにのみ適用されます。ブラウザのスクロールバーが広す...

Docker基盤技術の適用に関する詳細な説明 名前空間Cgroup

Docker の基盤技術: Docker の基盤となる 2 つのコア テクノロジーは、名前空間とコ...

Linux リモートログイン実装チュートリアル分析

Linux は一般的にサーバーとして使用され、サーバーは一般的にコンピュータルーム内に置かれます。L...

Vueは小さなフォーム検証機能を実装します

この記事では、フォーム検証を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

ウェブページを作る前に、これらのいわゆる仕様を見てみましょう

この記事では、Web ページを作成する前に確認すべき、いわゆる仕様をいくつかまとめました。皆様のお役...

Uniapp WeChatアプレット: キー障害の解決策

ユニアプリコード <テンプレート> <表示> <image v-for...

1分でVueが右クリックメニューを実装

目次レンダリングインストールコードの実装カスタムスタイル要約する効率的に要件を満たし、車輪の再発明を...

CocosCreatorでクールなレーダーチャートを描く方法

目次序文プレビュー文章グラフィックコンポーネントプロパティ機能グリッドを描く軸角度を計算するスケール...

Vue-cliはプロジェクトを作成し、プロジェクト構造を分析します

目次1. ディレクトリを入力してプロジェクトを作成する2. 必要な設定項目を選択します2.1 Vue...

CSSでnグリッドレイアウトを実装する方法

一般的なアプリケーションシナリオ現在のアプリのインターフェースは基本的に同じであり、グリッドレイアウ...

「いいね!」文がインデックスに登録されないのはなぜですか?

序文この記事は、最も人気のある言語で最も退屈な基礎知識を説明することを目的としていますこのトピックは...

Mac 向け MySQL のインストールと設定のチュートリアル

この記事では、MacでのMySQLインストールチュートリアルを参考までに紹介します。具体的な内容は次...