[ホーム] > [間違えやすい類語 IT編一覧] > [sudo と su の違い | 比較して何が勝っているのかを理解する]
Linux において root 権限のコマンドを実行するには、su により root ログインする方法と 一般ユーザからsudo コマンドを実行する方法があります。この二つはどのように違うのでしょうか。実は sudo の方がかなりメリットが残っています。
sudo のメリットを簡単にまとめした。
(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。
説明 | sudo | su |
概要 | 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 のサンプルです。
[ホーム] > [間違えやすい類語 IT編一覧]
,