アンドロイド

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

目次:

Anonim

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 ディレクトリに追加することにより、ユーザーのsudoアクセスを構成できます。 このディレクトリ内に作成されたファイルは、sudoersファイルに含まれます。

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

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

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

/ etc / sudoers

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

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

/ etc / sudoers

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

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

/etc/sudoers.d を使用 /etc/sudoers.d

sudoersファイルを編集する代わりに、/ etc /etc/sudoers.d ディレクトリーに許可ルールを含む新しいファイルを作成できます。 このアプローチにより、sudo特権の管理がより維持しやすくなります。

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

sudo nano /etc/sudoers.d/linuxize

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

/etc/sudoers.d/linuxize

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

linuxize ALL=(ALL) NOPASSWD:ALL

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

結論

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

ターミナル須藤