本記事では、LinuxOSを操作するときに出てくる sudo su というコマンドを解説します。
sudoコマンド(Super User Do)とは?
スーパーユーザー(=root)としてsudoに続くコマンドを実行する権限を
その都度与えるコマンドです。
つまり、その瞬間だけroot権限(Windows系OSでいうとAdministrator)
になってsudoに続くコマンドを実行するコマンドです。
コマンド実行完了後は権限が元に戻ります。
root権限は、システム管理者用のアカウントに付与されるほぼすべての
操作ができる強力な権限なので、sudoを使う際には注意が必要です。
#管理者として実行したいコマンドがある場合に使う
sudo 実行したいコマンド
suコマンドとは?
sudoの続きによくくる「su」というのはコマンドです。
suコマンド(switch user)はユーザを切り替えるコマンドになります。
このsuコマンドを実行すると以降の操作は切り替えたユーザで操作になります。
#ユーザを切り替えたいときに使う。
su 切り替えるアカウント名
suコマンドでユーザを省略するとrootを切り替えたことになります。
つまり、sudo suコマンドはroot権限でsuコマンドを実行します。(sudo su rootと同じ)
sudo suとsudo su -の違い
suコマンドに-(ハイフン)がついているときとそうでないときがあります。
ハイフンがついているときは、ホームディレクトリが
切り替えたユーザのホームディレクトリに移動します。
#ユーザーを切り替え+切り替えたユーザーのホームディレクトリへ移動
su - 切り替えるアカウント名
つまり、sudo su - ではホームディレクトリがrootに移動します。
そのため、カレントディレクトリを切り替えたくない場合はハイフンは付けません。
参考文献
・Qiita @msht0511. 「sudo su」ってざっくり言ってなんぞ?. <https://qiita.com/msht0511/items/31294277a4415ccb4ac9> (参照日2022年9月24日).
・株式会社CONFRAGE ITソリューション事業部. Linuxコマンドのsudoとsuとsudo suとsudo su -コマンドの違いを分かりやすく. <https://confrage.jp/linux%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AEsudo%E3%81%A8su%E3%81%A8sudo-su%E3%81%A8sudo-su-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E9%81%95%E3%81%84%E3%82%92%E5%88%86%E3%81%8B%E3%82%8A/> (参照日2022年9月24日).