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
を使用して任意のコマンドを実行できるようにします。 パスワードを求められることなく:
linuxize ALL=(ALL) NOPASSWD:ALL
アクセスを許可するユーザー名で「linuxize」を変更することを忘れないでください。
ユーザーがパスワードを入力せずに特定のコマンドのみを実行できるようにする場合は、NOPASSWD
の後にコマンドを指定します。 キーワード。
たとえば、mkdir
のみを許可するには およびmv
使用するコマンド:
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/linuxizesudoersファイルに追加するのと同じルールを追加します:
linuxize ALL=(ALL) NOPASSWD:ALL
最後に、ファイルを保存してエディタを閉じます。
結論#
/etc/sudoers
を編集する方法を説明しました したがって、sudo
を実行できます パスワードを入力せずにコマンドを実行します。これは、root以外のユーザーが管理タスクを実行する必要があるスクリプトがある場合に役立ちます。
ご不明な点がございましたら、お気軽にコメントをお寄せください。