sudo:一時的に管理者権限(root権限)でコマンドを実行するコマンド

sudo

sudoコマンドについての概要と詳細

sudoコマンドとは

sudoSuperuser DO)は、一時的に管理者権限(root権限)でコマンドを実行するためのLinux/UNIX系システム標準コマンドです。通常ユーザーが危険な権限を常に持つことなく、安全に必要な範囲だけ管理者作業を行えるようにする仕組みです。

主な用途と特徴

  • root権限でのみ可能な操作(パッケージインストール、設定変更、サービス制御など)をユーザーごとに細かく許可
  • コマンド単位で利用履歴(ログ)を残せる
  • パスワード認証により不正利用を防ぐ
  • /etc/sudoersで細かなアクセス制御が可能
  • 多くのディストリビューションでデフォルトインストールされている

基本的な使い方

# パッケージのインストール例(Ubuntu/Debian系)
$ sudo apt update
$ sudo apt install vim

# サービスの再起動
$ sudo systemctl restart sshd

# ファイル操作
$ sudo rm /etc/sample.conf

代表的なオプション

  • -i:ログインシェルとしてrootになる(sudo -i
  • -u ユーザー名:指定したユーザーとしてコマンド実行(例:sudo -u www-data ls /var/www
  • -l:自分に許可されているsudoコマンド一覧を表示
  • -k:認証済みキャッシュを無効化し、次回sudo時にパスワード再入力を要求
  • --edit (または -e):root権限でファイルを編集(sudoedit)

パスワード入力について

  • 初回実行時や一定時間経過後に自分のパスワード入力が求められます
  • パスワード入力後、一定時間は再入力が不要(タイムアウト設定可)
  • sudoで実行できる操作は/etc/sudoersの設定で制限されています

よくある注意点

  • 不用意にsudoを使って重要なファイルやディレクトリを操作すると、システムの動作に重大な影響を与える可能性があります
  • root権限は必要最小限に限定し、一般ユーザーでの作業を基本としましょう
  • sudo権限の範囲はシステム管理者が慎重に設定してください

インストール方法

Debian/Ubuntu系
$ sudo apt install sudo

Fedora系
$ sudo dnf install sud

まとめ

sudoコマンドは、Linux/UNIX環境で安全かつ柔軟に管理者権限を扱うための必須ツールです。権限管理や利用履歴、細かなアクセスコントロール機能を持つため、運用方針に合わせて適切に設定・活用しましょう。