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

SudoとSudoersファイルの使用方法

sudoコマンドを使用すると、root以外のユーザーは、通常はスーパーユーザー権限を必要とする他のLinuxコマンドを実行できます。一方、sudoersファイルは、sudoコマンドの処理方法をシステムに指示します。このチュートリアルでは、sudoコマンドの基本とsudoersファイルの編集方法をすべて紹介します。

須藤を理解する

sudoがどのように機能するかを示すには、最初にSSH経由でVPSにアクセスします。問題が発生した場合は、PuTTYチュートリアルを確認してください。

デフォルトでは、rootユーザーはsudoプレフィックスを使用する必要はありません。彼らはすでにすべての可能な特権を持っています。一方、root以外のユーザーが別のユーザーを追加する場合は、次のようにuseraddコマンドにsudoプレフィックスを追加する必要があります。

sudo useradd edward

ユーザーがsudoプレフィックスを使用しない場合、ユーザーは許可が拒否されましたを受け取ります 出力。

Sudoersファイル

sudoコマンドは、 / etc /にあるファイルを介して構成されます sudoersと呼ばれます 。

sudoコマンドを使用して、通常のユーザーに管理レベルの特権を提供します。通常、Ubuntuのインストール中に最初に作成するユーザーにはsudo権限があります。デフォルトのrootユーザーであるVPS環境。他のユーザーもsudoコマンドを実行できるように構成できます。これは、sudoersを編集することで実行できます。

Sudoersファイルの構文

お好みのテキストエディタでファイルを開くことができます。 viを使用します :

vi /etc/sudoers

VPSのファイルは次のようになります:

sudoersを編集するときに従うべきいくつかのフォーマットとルールを見てみましょう:

  • で始まるすべての行 コメントです
  • root ALL =(ALL:ALL)ALL –この行は、rootユーザーが無制限の特権を持ち、システム上で任意のコマンドを実行できることを意味します
  • %admin ALL =(ALL)ALL –%記号はグループを指定します。管理者グループの誰もがrootユーザーと同じ権限を持っています
  • %sudo ALL =(ALL:ALL )すべて – sudoグループのすべてのユーザーには、任意のコマンドを実行する権限があります

もう1つの重要な行は#includedir/etc/sudoers.dです。これは、ファイルsudoers.dに構成を追加して、ここにリンクできることを意味します。

Sudoersファイルの編集

/ etc / sudoersを編集するには ファイル、次のコマンドを使用します:

sudo visudo -f /etc/sudoers

sudoersファイルの編集にはvisudoを使用することをお勧めします。 Visudoは、sudoersが一度に1人のユーザーによって編集されていることを確認し、必要な構文チェックを提供します。

sudoグループに含まれるユーザーを確認するには、grepコマンドを使用できます。

grep ‘sudo’ /etc/group

これにより、ユーザー名のリストが出力されます。

billというユーザーをsudoグループに追加するには、 adduserを使用します。 次のように、コマンドラインでコマンドを実行します。

adduser bill sudo

grepコマンドを使用してグループ内のユーザーを確認すると、ユーザー名の請求書が表示されます。

誰かにroot権限を与えたい場合は、それらをsudoに追加するだけです。

sudoからユーザーを削除するには:

deluser bill sudo

deluserコマンドは、sudoグループからbillを削除します。

これで、ユーザー請求書はsudo権限を必要とするアクションを実行できなくなります。

Sudoersファイルを使用して特定の特権を付与する

ネットワーキングなど、sudo権限を持つ特定の種類のコマンドのみをbillで実行できるようにするにはどうすればよいですか?

そのために、 /etc/sudoers.d/に構成ファイルを作成します。 ネットワーキングと呼ばれます。

次のコマンドを使用してファイルを作成します。

sudo visudo -f /etc/sudoers.d/networking

ファイルに次のテキストを追加します:

Cmnd_Alias     CAPTURE = /usr/sbin/tcpdump
Cmnd_Alias     SERVERS = /usr/sbin apache2ctl, /usr/bin/htpasswd
Cmnd_Alias     NETALL = CAPTURE, SERVERS
%netadmin ALL=NETALL

上記のファイルで行ったことは、netadminグループを作成することです。 netadminグループのユーザーは、NETALLで指定されたコマンドを実行できます。次に、NETALLには、CAPTUREおよびSERVERSエイリアスの下にすべてのコマンドが含まれます。コマンドtcpdumpは、CAPTUREエイリアス( / usr / sbin /tcpdump。)の下にあります。

次に、netadminグループにユーザー請求書を追加します:

sudo adduser bill netadmin

これで、ユーザー請求書は他のネットワーク関連コマンドと一緒にtcpdumpコマンドを実行できるようになります。

結論

複数のユーザーを操作している場合は、sudoコマンドとsudoersファイルを理解する必要があります。このチュートリアルでは、システムの特権を制御するためのすべての基本を学びました!


Linux
  1. LinuxでTarコマンドを使用する方法

  2. Linuxでエイリアスを作成してエイリアスコマンドを使用する方法

  3. basenameコマンドの使用方法は?

  1. Linuxでsudoコマンドを使用する方法

  2. LinuxでPingコマンドをインストールして使用する方法

  3. ファイルの行をコマンドの引数として使用するにはどうすればよいですか?

  1. 例でchgrpコマンドを使用する方法

  2. Linuxでmd5sumコマンドを使用する方法

  3. Linuxでtouchコマンドを使用する方法