41075


**下記は、どういう意味ですか？**

> $ sudo su root

・sudoなのにsu？  
・わざわざroot指定している理由は？  
・「sudo -s」と何が違うのでしょうか？

**環境**  
・CentOS7

[man sudo](https://linuxjm.osdn.jp/html/sudo/man8/sudo.8.html)


CC BY-SA 3.0
2018-01-19T01:31:48.970
41072
2018-10-10T01:55:25.523
2018-10-10T01:55:25.523
3060
7886
question
linux unix sudo
$ sudo su root


`su`コマンドは **切り替え先** ユーザのパスワードを入力する必要がありますが、`sudo`は **切り替え元/実行ユーザ**
のパスワードを入力すればコマンドを実行できます。

`/etc/sudoers`での許可次第ですが、質問の例だとrootのパスワードを直接入力せずにroot権限を取得するための実行方法、ということではないでしょうか。


CC BY-SA 3.0
2018-01-19T02:16:44.593
41075
2018-01-19T02:16:44.593
3060
41072
answer


> ・sudoなのにsu？  
>  ・「sudo -s」と何が違うのでしょうか？

`sudo -s`の場合はホームディレクトリが元ユーザーのホームディレクトリになります。それによって、.bashrcなども元のユーザーのものが適用されます。

`sudo su`や`sudo su
root`の場合は、ホームディレクトリが/rootになります。それによって、.bashrcはrootのものが適用されます。

> ・わざわざroot指定している理由は？

これは私にもわかりません。


CC BY-SA 3.0
2018-01-19T02:36:58.670
41077
2018-01-19T02:36:58.670
4010
41072
answer


> ・「sudo -s」と何が違うのでしょうか？

CentOS では `always_set_home` が有効なので `sudo -s` と同じ効果になると思います。


CC BY-SA 3.0
2018-01-19T10:04:43.373
41089
2018-01-19T10:04:43.373
5008
41072
answer