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

推薦する

Dockerコンテナが停止できない問題の解決方法

解決策は次のとおりです。 1. コンテナを強制削除する docker rm -f ジェンキンス2. ...

MySQLで時間別データと最後の時間別データの差をクエリするアイデアの詳細な説明

1. はじめに要件は、特定の時間範囲内で、1 時間ごとのデータと前の 1 時間ごとのデータの差と比率...

速度、読み込み、Web アプリケーションなどにおける div と table の違い。

1: 速度と読み込み方法の違いdivとtableの違いは速度ではなく、読み込み方法です。速度はネット...

Mysql ルートユーザーアカウントのパスワードをリセットする問題を解決する

問題の説明: mysqladmin.exe を使用してコマンドを実行すると、次のエラー メッセージが...

MySQL データベースのホットスタンバイにおける問題点の分析

以前、MySQL データベースのデュアルマシン ホット スタンバイの設定方法を紹介しました。ご興味の...

MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル (Windows 10 X64)

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...

Linux システム (CentOS7 インストール) に JDK8 をインストールするための詳細なチュートリアル

JDKのインストールシステムのインストールについてはあまり詳しく説明しません。インストール手順はオン...

Centos7 への mysql8.0rpm のインストール チュートリアル

まず、図をダウンロードしてください 1. まず、centos7に付属しているmariadbをアンイン...

nginx での書き換えジャンプの実装

1. 新旧ドメイン名のジャンプ適用シナリオ: ドメイン名ベースのリダイレクト。会社の古いドメイン名は...

Alibaba Cloud に MySQL データベースをインストールするときに発生する 2002 エラーを解決する方法

データベースのインストール中に次のエラーが発生しました: 解決策は次のとおりです。 1. binディ...

20個のJavaScriptワンラインコードを共有する

目次1. ブラウザのクッキーの値を取得する2. RGBを16進数に変換する3. クリップボードにコピ...

Linux でのルーティングと仮想マシン ネットワークの設定に関する詳細なグラフィック説明

ルーティングとは何ですか?ルーティングとは、相互接続されたネットワークを介して送信元ステーションから...

jsフェッチ非同期リクエストの使用の詳細な例

目次非同期を理解するフェッチ(url)レスポンス.json() asyncとawaitを組み合わせる...

MySQL の起動時に InnoDB エンジンが無効になる問題の解決方法

問題を見つける今日、仕事中に、ローカル データベースから仮想マシン CentOS 6.6 上のデータ...

VueにおけるAxios非同期通信の詳細な説明

1. まず、インタラクティブに使用するための .json ファイルを作成します。json データ形式...