sudo と su の違い | 比較して何が勝っているのかを理解する

スポンサード リンク

Linux において root 権限のコマンドを実行するには、su により root ログインする方法と 一般ユーザからsudo コマンドを実行する方法があります。この二つはどのように違うのでしょうか。実は sudo の方がかなりメリットが残っています。
sudo のメリットを簡単にまとめした。

スポンサード リンク

(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。

比較表

比較は以下の表の通りとなります。

説明sudosu
概要sudo は他のユーザの権限でプログラムを実行するコマンドです。一般的には root 権限で一度だけプログラムを実行する場合に使用されます。特定のユーザにとあるコマンドのみ root 権限で実行させたい場合に便利です。そのユーザに root パスワードを指定する必要がありません。

その他以下の表の通り sudo には多数のメリットがあります。

参考:
sudo の使用方法



su は他のユーザにスイッチする管理系のコマンドです。
#su root でroot にスイッチすることも可能です。
誰でも root にスイッチすることが可能な訳ではなく、原則的には root のパスワードを知っていることと、root にスイッチすることが許可されている必要があります。

参考:
root にスイッチ (su) 出来るユーザを制限する
su コマンドで root ログイン可能なユーザを指定する

root パスワードの入力〇不要にすることも可能(原則は必要)
×必要
実行可能コマンドの指定〇可能
×不可
コマンド履歴〇残る
〇残らない
パス/usr/bin/sudo/usr/bin/su
実行例$ sudo cat /etc/shadow | wc -l
50

参考:
"sudoers ファイル内にありません。この事象は記録・報告されます。" で sudo コマンドが失敗する
$ su
パスワード:`********
#
関連ファイル/etc/sudo.conf
/etc/sudoers
/etc/sudoers.d
/etc/pam.d/su
/etc/gropu
/etc/pam.d/su
/etc/login.defs


sudo 可能なユーザなどは、 visudo で編集します。

以下は su のサンプルです。

Centos における su のサンプル

スポンサード リンク







【注意】本ページは著作権で保護されています。内容は何人も補償しません。時間的あるいは金銭的損失等、一切保証しません。

理解しやすく記載されており、一部不正確な記載がある可能性があります。ご自身の責任で参考にしてください。