考慮に値する Linux の 4 つの最良の sudo 代替手段

考慮に値する Linux の 4 つの最良の sudo 代替手段

sudo は、おそらく最もよく使用される Linux コマンドの 1 つです。これにより、Linux マシンで管理者特権または昇格された特権を取得できます。

通常、ソフトウェアのインストール、サービスの管理、重要なシステム ファイルの削除などの操作を実行するには、昇格された特権が必要です。しかし、Linux の sudo コマンドに代わるものがあることをご存知ですか?

Linux コマンドを別のユーザーとして実行する理由

sudo は、スーパーユーザー権限でコマンドを実行できるため、非常に重要なコマンドです。デフォルトでは、root 以外のユーザーは通常、Linux 上のリソースとファイルへのアクセスが制限されています。

Linux でユーザーへのアクセスを制限することは、次の理由から非常に重要です。

  • 制御:システムの管理者または所有者が、特定のファイルおよびプログラムへの特定のアクセスを許可できるようにします。これは、システムの安定性、プライバシー、および全体的なパフォーマンスに適しています。
  • セキュリティ:システムの特定の部分へのアクセスを制限することで、システムへの誤った削除や変更を防ぎます。また、システムの攻撃面も減少します。

sudo は正常に機能し、ほとんどの人が使用する以上のことを行います。残念ながら、これにより非常に肥大化します。

幸いなことに、Linux のほとんどの場合と同様に、sudo コマンドの優れた代替手段がいくつかあります。ここではその一部を紹介します。

1.pkexec

pkexec (PolicyKit Executive) コマンドは、PolicyKit フレームワークのフロントエンド実装であり、ユーザーとプロセスに権限を付与するための一連のルールを提供します。

pkexec を使用すると、指定したポリシーで定義されたルールに基づいて、別のユーザーまたはロールの権限でコマンドを実行できます。

pkexec ツールは、Ubuntu およびその他の主要な Linux ディストリビューションに既にインストールされています。インストールされていない場合は、以下の方法でインストールしてください。

Debian ベースのシステムでは、次を実行します。

sudo apt update && sudo apt install policykit-1

RHEL および同様のディストリビューションでは、次を実行します。

sudo dnf install policykit

Arch ベースの Linux ディストリビューションでは、次のコマンドを使用します。

sudo sudo pacman -S policykit

pkexec の使用方法

pkexec を使用するには、最初に pkexec キーワードを指定し、その後に実行するコマンドを指定し、その後にコマンドに必要な引数またはオプションを指定する必要があります。

たとえば、おかしな Linux プログラムである cowsay をスーパーユーザー権限を使用してシステムにインストールするには、次のコマンドを使用します。

pkexec apt install cowsay

–userオプションの後にユーザーまたはロールの名前を指定して、特権を引き受けるユーザーまたはロールを指定することもできます。たとえば、前述のコマンドを admin ユーザーの権限で実行するには、次のコマンドを使用します。

pkexec --user admin apt install cowsay

また、コマンドで指定したユーザーまたはロールのパスワードを入力する必要があります。必要な権限がない場合、エラーが発生します。

2. ドア

doas コマンドの起源は、OpenBSD オペレーティング システムにあります。指定したユーザーまたはロールの権限でコマンドを実行できます。

これは sudo コマンドによく似ていますが、簡潔で読みやすいステートメントを使用するため、モダンで非常に軽量で、構成が簡単です。

そうでない場合は、Linux に doas をインストールする方法を次に示します。

Linux での do の構成

sudoおよびpkexecコマンドとは異なり、使用を開始する前に、新しくインストールされた doas のインスタンスを構成する必要があります。構成ファイルは/etc/doas.confにあります。構成ファイルが存在しない場合は、touch コマンドまたは選択した他のプログラムを使用して作成します。

システムでユーザー「mwizak」スーパーユーザー権限を付与するには、次の行を/etc/doas.confファイルに追加します。

permit persist: mwizak as root

前述のコマンドのユーザー「mwizak」を正しいユーザー名に置き換えることを忘れないでください。

Linux システムでの doas コマンド設定

構成の変更を保存した後、次のコマンドを使用して cowsay のインストールを試みます。

doas apt install cowsay

別のユーザーを使用するには、-uフラグの後にユーザー名を指定します。これは、pkexec コマンドで使用される–userフラグに似ています。

たとえば、前述のコマンドをシステム管理者として実行するには、次のように実行します。

doas -u admin apt install cowsay

3. す

su コマンドは、「ユーザーの切り替え」の略です。現在ログインしているユーザー以外のユーザーとしてコマンドを実行できます。通常、root 権限を必要とするコマンドを実行するために使用されますが、su を使用して他のコマンドを実行することもできます。

引数なしで su コマンドを実行すると、root ユーザーが想定されるため、続行するには root ユーザーのパスワードを知っている必要があります。john という名前のユーザーに切り替える場合は、次のコマンドを実行するだけです。

su john

ユーザー john のパスワードを入力します。元のユーザーに戻すには、exitコマンドを実行するだけです。

通常、root ユーザーとしてコマンドを実行することはお勧めできません。実行するコマンドごとにパスワードの入力を求めるプロンプトが表示されず、誤ってファイルを削除するなどの悲惨な結果につながる可能性があるためです。

4. ドゥード

dzdo は、スーパーユーザーや root ユーザーなどの別のユーザーの権限でコマンドを実行するために使用されるコマンドライン ツールです。これは、同じ目的で一般的に使用される sudo コマンドに似ています。dzdo コマンドは、ほとんどの場合、Oracle Linux で使用できます。

-uフラグを使用して、使用する権限を持つユーザーを指定できます。たとえば、次のコマンドは、スーパーユーザー (root) の権限でapt-get updateコマンドを実行します。

dzdo -u root apt-get update

コマンドを実行するために必要な権限があることを確認するために、適切なパスワードを入力するように求められます。

Linux でセキュリティを強化するために正しいユーザー コントロールを使用する

sudo は Linux システムで一般的に使用されるコマンドで、ユーザーが root ユーザーの権限でコマンドを実行できるようにします。必要に応じて、ワークフローで sudo の代替手段を使用できます。

Linux では、セキュリティを強化するために、ファイルとフォルダーに適切なアクセス レベルを割り当てることも重要です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です