【Linux】最強コマンド!!sudoについて解説

この記事は約4分で読めます。

sudoの役割

sudoとは、Unix系OS(macOSやLinux)で使われるコマンドで、他のユーザ権限でコマンドを実行するための仕組みです。

このsudoコマンドは、一時的に一般ユーザへ管理者権限(root)を付与する際に実行します。

名前は、superuser do(スーパーユーザとして実行する)の略です。

sudoの使い方

Linuxでは、重要な設定変更やソフトウェアのインストールなど、OSに影響を与える操作は、誤った操作によってシステムに影響を与えないよう、通常のユーザ権限では実行できないようになっています。

そのため、普段の作業は一般ユーザ権限で行い、root権限が必要な場合にだけ、sudoを使用して一時的に権限を昇格させる使い方が一般的です。

以下のようなroot権限が必要となる操作を行う際は、コマンドの先頭にsudoを付けて実行します

  • パッケージのインストール・更新・削除
  • システム設定ファイルの編集
  • ネットワーク設定の変更
  • サービスの起動・停止・再起動
  • ユーザ/グループの作成・変更・削除
    • など

sudoを使用することで、rootができることの大半を実行できるようになります。

※自分のホームディレクトリ内での作業では、基本的にsudoは不要です。

sudoを使うためのグループ

一般ユーザがsudoを使うためには、ユーザが特定のグループに所属しておかないと、sudoが実行することができません。ただし、OSによって、グループ名がデフォルトで異なりますので注意してください。

  • Debian系(Ubuntu)では、ユーザがsudoグループに所属していると、sudoを使えます。
  • RHEL系(CentOS)では、ユーザがwheelグループに所属していれば、sudoが使えます。

ユーザがどのグループに所属しているかはgroupsコマンドで確認できます。

rootとの違い

rootとは、Unix系OSにおける最高権限を持つ特別なユーザで、OS全体を完全に支配できるアカウントです。

root権限を元々持つrootと、sudoによってroot権限に昇格させて操作する一般ユーザとの違いを見ていきます。

root・一般ユーザ における、プロンプトの違い

プロンプトの構成は以下の通りです。

userA@Server01:~$
| ∟___ シェルプロンプト
∟___________________ ユーザ名

シェルプロンプトには、#$があります。
rootアカウントでは#で表示され、一般ユーザでは$で表示されます。

ユーザ名は、ログインユーザ名が表示されますので、
rootアカウントではrootと表示されます。

root・sudo における、操作性の違い

rootでは、即実行で非常に操作が楽ですが、危険な面もあります。
一方、sudoで作業する場合、ワンクッションがあるので、誤操作防止になります。

rootで作業していると事故を起こしやすいため、冒頭でも記述したよう、普段の作業は一般ユーザ権限で行い、root権限が必要な場合にだけ、sudoを使用して一時的に権限を昇格させる使い方が一般的です。


rootでログイン時
root@Server01:~#

このような状態の時は、「apt xxx」などそのままのコマンド体系で実行することができます。毎回sudoの実行は不要です。

root@Server01:~# 
root@Server01:~# apt update
root@Server01:~# 
一般ユーザでログイン時
userA@Server01:~$

このような状態の時は、毎回sudoが必要となります。

sudoを実行しなかった場合は「Permission denied」となりはじかれてしまいます。

userA@Server01:~$
userA@Server01:~$ apt update
Permission denied
userA@Server01:~$

そこで、sudoコマンドで実行すると、この1回だけroot権限で実行されるようになります。

userA@Server01:~$
userA@Server01:~$ sudo apt update
[sudo] password for userA: 
userA@Server01:~$

ここでユーザのログインパスワードを入力すると、そのままコマンドがすぐに実行されます。

このパスワード入力は初回の1回のみで、同一セッション中は、2回目以降のsudo実行時のパスワード入力は不要です。

 


いかがでしたでしょうか。

最後まで、お読みいただきありがとうございました。

コメント

タイトルとURLをコピーしました