标题的内容乍一看很唬人,其实说到实际的运用真的是烂大街了,就是咱们平时经常用到的“su”命令,我这里只是想给大家展示一下最常见的“su root”和“su - root”到底有什么区别?
下面对图中的内容进行分析:在lighthouse用户下使用su root后,可以看到uid、gid都变成了root,但是使用pwd查看当前目录发现却是/home/lighthouse.然后同样的情况下,使用su - root后,当前目录就变成了/root.由此看出前者只是临时具备了root的权限,但是不具备root的环境变量,但是后者确实实实在在的获得了root的权限和环境变量,其实当具备这两点之后,就已经正式地切换到了root用户,而不是在临时转换为root了。
我上面说了su - root是实际上已经切换到了root用户,怎么证明呢?我们来看上面两种情况地环境变量就知道了。
1、su root的环境变量
2、su - root的环境变量
这就是su root和su - root的区别