最近Ubuntuに切り替えましたが、次のコマンドを使用してrootユーザーに切り替えると、1つのことがわかりました
Sudo su - root
ルートのホーム(/root
)に直接移動するため、ファイルシステム(このコマンドを実行したディレクトリ)の場所を失います。現在のディレクトリを失うことなくルートに切り替える方法はありますか?
まず、Sudo su
を使用しないでください。それは間違っていないし、危険でも何でもありません、ただ 不正で無意味 です。 1つで簡単に処理されるジョブを実行するために、2つの別々のプログラムを実行しています。シェルをルートとして起動する場合は、Sudo
が実行できます。
ログインシェル(Sudo su -
)を開始する場合は、Sudo -i
を使用します。ただし、これはログインシェルを起動するため、デフォルトでルートのホームディレクトリに移動します。
通常の非ログインシェルを開始するには、Sudo -s
を使用できます。これにより、ルートシェルが起動し、実行元のディレクトリに保持されます。
terdon@tpad ~ $ pwd
/home/terdon
terdon@tpad ~ $ Sudo -i ## changes directory
[root@tpad ~]# pwd
/root
[root@tpad ~]# logout
terdon@tpad ~ $ Sudo -s ## doesn't change directory
[root@tpad terdon]# pwd
/home/terdon
したがって、ルートシェルを起動して同じディレクトリにとどまる方法は、Sudo -s
です。
これは非常に簡単です。入力するだけ
Sudo su
の代わりに
Sudo su - root
これにより、ルートと同じフォルダに保持されます。