Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxのsudoコマンドとは?仕組みと使い方を初心者向けに解説

Linuxでは、一部のアプリケーションを実行するために管理者権限(特権)が必要になります。そのような場合、suコマンドでスーパーユーザー(root)に切り替える方法と、sudoコマンドを使う方法の2つがあります。本記事では、後者のsudoコマンドの仕組みや基本的な使い方をわかりやすく解説します。

sudoコマンドの仕組み

sudoは、WindowsやmacOSでときどき表示される確認ダイアログに似た役割を果たします。これらのOSでは、「この操作を続行しますか?」というメッセージとともに確認ボタンが表示され、場合によっては管理者のパスワード入力を求められます。動作方式こそ異なりますが、Linuxのsudoも同じ考え方に基づいています。

Linuxでは、sudoが「通常の作業」と「管理作業」の間の壁として機能します。コマンドを実行する前に、本当にその操作を行いたいのか、そして自分にそのタスクを実行する権限があるのかを確認させる仕組みです。

さらに近い存在なのがWindowsのrunasコマンドです。Linuxのsudoと同様に、runasもコマンドラインから特定のユーザー(多くの場合管理者)の資格情報を使ってファイルやプログラムを起動できます。

ヒント:今使っているのがsudoかsuか判断できない場合は、コマンドプロンプトの末尾の記号を確認しましょう。#(シャープ記号)が表示されていれば、rootとしてログインしていることを意味します。

sudoコマンドの特徴

ターミナルで任意のコマンドの先頭にsudoを付けて実行すると、そのコマンドは昇格された権限(管理者権限)で実行されます。これが、権限関連のエラーを解決する手段としてsudoが広く使われる理由です。

sudoはコマンド単位で動作し、主に以下のような機能を持っています。

  • ホスト単位での制御:ユーザーが実行できるコマンドを、ホストごとに制限できる
  • 詳細なログ記録:実行された各コマンドがログに残り、「誰が何をしたか」の明確な監査証跡(audit trail)を作成できる
  • タイムアウト設定:sudoのパスワード有効時間などを柔軟に設定できる
  • 設定ファイルの共有:同一の設定ファイルを複数のマシンで使い回せる

sudoコマンドの使用例

管理者権限を持たない一般ユーザーが、Linuxでソフトウェアをインストールしようとして次のコマンドを入力したとします。

dpkg -i software.deb

このコマンドはエラーを返します。管理者権限のないユーザーにはソフトウェアのインストールが許可されていないためです。ここでsudoの出番です。正しくは、次のようにコマンドの先頭にsudoを付けます。

sudo dpkg -i software.deb

今度はソフトウェアが正常にインストールされます。

補足:逆に、一部のユーザーがsudoコマンドを使えないよう、Linux側で設定により制限することも可能です。

  1. Linuxのteeコマンド使い方ガイド|画面表示とファイル保存を同時に実現

    Linuxシェルでパイプやリダイレクトを使っているなら、teeコマンドの出番もきっとあるはずです。teeは「標準出力に表示しながら、同時にファイルにも書き込む」ことができる便利なユーティリティです。この記事では、teeコマンドの基本操作から、sudoとの組み合わせ、追記モード、エラー出力の扱い方まで、実例を交えながら詳しく解説します。 teeコマンドとは何をするもの? まず、次のようなコマンドを見てみましょう。 ls このコマンドは、現在のディレクトリの内容を表示します。つまり、標準出力(stdout)へ出力するわけです。標準出力とは通常、画面、正確には仮想端末のディスプレイのことです

  2. Linuxの「ps」コマンド徹底解説!基本から応用までの使い方12選

    Linuxオペレーティングシステムにおいて、psコマンドはシステム管理者が最も頻繁に使用するツールの一つです。現在実行中のプロセスの一覧をリアルタイムで確認できるため、サーバー管理やトラブルシューティングに欠かせません。 psコマンドにはさまざまな構文がありますが、ここでは最も一般的に使われるハイフン(ダッシュ)を1つ付けた形式を中心に、実用的な使い方を12のパターンに分けてご紹介します。 それでは始めましょう! 1. すべてのプロセスを表示する 使用コマンド:ps -ef このコマンドを実行すると、現在実行中のプロセスと、各プロセスに関連する情報が一覧表示されます。出力には、PID(プロセス