Ubuntuでroot権限使用のために
rootユーザーになるコマンドが紹介されていて
$ su -
Password:
#
#pwd
/root
こういう風に、ちゃんとできたらカレントディレクトリがrootユーザーのホームディレクトリになるらしい。
でも、Ubuntuだと基本suじゃなくてsudoコマンドを使うらしくて
$ sudo -s
これでrootユーザーになる
問題点
これだとカレントディレクトリがrootユーザーのにならない
つまり
$ su
Password:
# pwd
/home/ユーザー名
と同じ状態に。。。
これだとrootユーザー用コマンドの多くが使えないらしい
解決策
sudo su -
こうするとカレントディレクトリが/rootになってくれる
元のユーザーに戻るためには
# exit
カレントディレクトリの謎について
わたしが理解できなかったのは、なぜカレントディレクトリが変えられるパターンと変えられないパターンのsu(またはsudo)があるのか
実務で考えてみる
たとえばなにかのファイルを書き換えたいけど、自分には権限がないとき
sudo -s
を使うと
そのファイルがあるディレクトリまで移動
↓
権限がない!
↓
rootユーザーになればいいじゃん!
↓
sudo -s
↓
そこのディレクトリのままで作業続けられる
一方
sudo su -
を使うと
そのファイルがあるディレクトリまで移動
↓
権限がない!
↓
rootユーザーになればいいじゃん!
↓
sudo su -
↓
ホームディレクトリがrootユーザーのものになってしまったから、そのファイルがあるディレクトリに移動し直し・・・
ということらしい(わかりにくい)
suの -(ハイフン)の意味は、そのユーザーのホームディレクトリにログインするということで、ちょこっとここでroot権限が必要だ〜ってなったときにはディレクトリが変わらないほうがありがたいみたいな感じらしい。
ちなみにホームディレクトリが変わるほうの必要性は、rootユーザー用のコマンドがちゃんと使えるからっぽい
勉強中なので理解が間違ってたら教えてほし
お世話になった引用元2つ
・中島能和 1週間でLPICの基礎が学べる本 第2版