GNU/Linux >> Linux の 問題 >  >> Linux

パスワードなしでSudoコマンドを実行する方法

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

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

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

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

Sudoersファイルへのユーザーの追加#

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

ユーザーのsudoアクセスを構成するには、sudoersファイルを変更するか、構成ファイルを/etc/sudoers.dに追加します。 ディレクトリ。このディレクトリ内に作成されたファイルは、sudoersファイルに含まれます。

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

sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}
dateコマンドは、現在の日付をバックアップファイル名に追加します。

/etc/sudoersを開きます visudoを含むファイル コマンド:

sudo visudo

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

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

sudo EDITOR=nano visudo

ファイルの最後までスクロールダウンし、次の行を追加して、ユーザー「linuxize」がsudoを使用して任意のコマンドを実行できるようにします。 パスワードを求められることなく:

/ etc / sudoers
linuxize  ALL=(ALL) NOPASSWD:ALL
アクセスを許可するユーザー名で「linuxize」を変更することを忘れないでください。

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

たとえば、mkdirのみを許可するには およびmv 使用するコマンド:

/ etc / sudoers
linuxize ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv

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

/etc/sudoers.dの使用 #

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

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

sudo nano /etc/sudoers.d/linuxize

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

/etc/sudoers.d/linuxize

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

linuxize  ALL=(ALL) NOPASSWD:ALL

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

結論#

/etc/sudoersを編集する方法を説明しました したがって、sudoを実行できます パスワードを入力せずにコマンドを実行します。これは、root以外のユーザーが管理タスクを実行する必要があるスクリプトがある場合に役立ちます。

ご不明な点がございましたら、お気軽にコメントをお寄せください。


Linux
  1. パスワードプロンプトなしでルートとして特定のプログラムを実行する方法は?

  2. sudo を使用して非 root ユーザーが特定のコマンドを実行できるようにする方法

  3. Linux でパスワード プロンプトを中断せずに SCP を実行する方法

  1. 同じ行にパスワードを指定して、Sudoコマンドを実行しますか?

  2. パスワードなしで別のユーザーとしてスクリプトを実行するには?

  3. パスワードなしでsshコマンドをsudoコマンドをリモートで実行する方法

  1. 長いスリープコールの後、Sudoパスワードを再入力せずにSudoコマンドを実行しますか?

  2. Ssh –パスワードなしでSudoを実行できる場合、Sudoを実行するにはTtyが必要ですか?

  3. SuなしでSudoによってrootパスワードを変更しますか?