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プロジェクトでXSS攻撃に遭遇した実体験

目次序文原因を発見するカスタムフィルタリングルール要約する序文インターネットの急速な発展に伴い、情報...

MySQL binlog_ignore_dbパラメータの具体的な使用法

序文:前の記事を読んだ後、binlog はデータベースで実行されたすべての DDL および DML ...

Alibaba Cloud CentOS7 サーバーの nginx 構成と FAQ の分析

序文:この記事は、jackyzm のブログ https://www.cnblogs.com/jack...

HarborをベースにしたDocker専用倉庫の構築方法

目次1. ハーバーの紹介1. ハーバーが民間倉庫を建設3. 港湾の維持管理4. Harborユーザー...

Ubuntu 16.04 に nvidia ドライバー + CUDA + cuDNN をインストールする詳細なチュートリアル

準備1. GPUがCUDAをサポートしているかどうかを確認するlspci | grep -i nvi...

MySQLデータの挿入、更新、削除の詳細

目次1. 挿入2. 更新3. 削除1. 挿入 顧客に挿入( 顧客.顧客住所、 顧客.cust_cit...

ウェブサイトメンテナンスページのリスト構築のヒント

また、多くの場合、メンテナンスのために Web サイトを少なくとも数分間オフラインにする必要がありま...

Windows 7 で MySQL 8.0.16 をインストールして使用する場合、パスワードの変更と Navicat への接続に関する問題が発生する

MySQL のインストール時にいくつかの問題が発生しました。オンラインで見つけた回答は似たようなもの...

ElementUI のネストされたテーブルに基づいて複数選択を実装するためのサンプル コード

序文:私は友人のプロジェクトのバグを修正するのを手伝ったのでこれを書きました。この関数を書くのは初め...

JSはモバイル端末の画面を1つずつ上下にスライドさせる機能を実装します

この記事では、モバイル端末を一度に1画面ずつ上下にスライドさせるためのJSの具体的なコードを参考まで...

mysql5.6.8 ソースコードのインストールプロセス

カーネル: [root@opop ~]# cat /etc/centos-release CentO...

Mysql の使用法の概要

導入EXISTS は、サブクエリが少なくとも 1 行のデータを返すかどうかを確認するために使用されま...

JS のあらゆる場所で絶対等価演算子の使用をやめる

目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...

HTMLの基本構文は、HTMLを学び始めたばかりの人にとって便利です。

1.1 一般的なマーキング一般的なタグは開始タグと終了タグで構成されます。構文は次のとおりです: ...