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をインストールし、外部ネットワークアクセスを構成する例

推薦する

Vue が学ぶべき知識ポイント: forEach() の使用

序文フロントエンド開発では、目的のコンテンツを取得するためにループをトラバースする必要がある状況に頻...

VUE ユニアプリテンプレート構文についての簡単な説明

1.v-bind(略称:)コンポーネント プロパティのデータで定義されたデータ変数を使用するか、コン...

MySQLの結合クエリ、ユニオンクエリ、サブクエリの原理と使用例の詳細な説明

この記事では、例を使用して、MySQL の結合クエリ、結合クエリ、サブクエリの原理と使用方法を説明し...

よく使われるCSSスタイル(レイアウト)の詳しい説明

新しいCSS3プロパティと互換性ありCSS3では、プラグインprefixfree.min.jsを使用...

フラッシュプラグインを使用してPCのカメラを呼び出し、TMLページに埋め込む方法

序文この記事を書いた主な理由は、チームリーダーが、ブラウザを使用してコンピューターのカメラを呼び出し...

Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

Linux では、アプリケーションをダウンロードしてインストールすると、起動時にアプリケーション名...

MySQL max_allowed_pa​​cket 設定

max_allowed_pa​​cket は、受け入れるパケットのサイズを設定するために使用される ...

SQL インジェクション脆弱性プロセスの例と解決策

コード例: パブリッククラスJDBCDemo3 { パブリック静的voiddemo3_1(){ bo...

Springboot+Vue-Cropperでアバターの切り取りとアップロードの効果を実現

アバターをアップロードするにはVue-Cropperコンポーネントを使用します。参考までに具体的な内...

MySQL でテーブルスペースの断片化を解消する詳細な例

MySQL でテーブルスペースの断片化を解消する詳細な例断片化の原因(1)テーブルのストレージは断片...

支払いカウントダウンを実現し、ホームページに戻るためのjs

ホーム ページに戻るための支払いカウントダウン ケースの概要: シンプルな js 構文、getEle...

JavaScriptはランダムコードの生成と検証を実現する

JavaScriptでのランダムコードの生成と検証は参考までに。具体的な内容は以下のとおりです。イベ...

反応ジャンプ後にルートが変更されてもページが更新されない場合の解決策

目次質問解決質問この問題には多くの理由があるようです。私の問題は、パラメータ付きのURLを更新できな...

MySQLのスレッド実行の急増とクエリの遅延の問題を解決する

目次背景問題の説明原因分析CPUクエリが遅い接続数分析する拡大する総括する背景新年を迎える前は、一年...

JavaScript における var、let、const の違いの詳細な説明

目次グローバル変数として可変ホイスト一時的なデッドゾーンブロックスコープ重複したステートメント宣言さ...