美文网首页
【Linux-运维】su和su -的区别

【Linux-运维】su和su -的区别

作者: blue_smile | 来源:发表于2017-04-07 17:59 被阅读0次

背景:公司为安全考虑,对登陆服务器的权限进行了收归,所有人员必须使用普通用户登录服务器。如需使用root权限运维或定位问题,需执行命令sudu susudo su -进行权限切换。

系统配置说明

CentOS 6.2

遇到的情况

由于需要使用root权限,在使用普通用户权限登陆机器后,使用sudo su命令切换到root用户。
切换后发现之前给root用户配置的环境变量均不起效了,仔细想了想应该是由于使用su命令切换用户root用户的环境变量没有切换过来,所以这里对susu -的区别进行简单梳理,防止遗忘。

su和su-的区别

su:将用户角色由普通用户切换至root,但保留普通用户的shell环境
su -:将用户角色由普通用户切换至root,并将shell环境切换为root的shell环境
两者的区别:

  1. shell环境不同:su使用的是原来普通用户的shell环境,su -使用的是root用户的shell环境
  2. 命令执行后的工作目录不同:su命令执行后会将目录切换至原普通用户的工作目录,su -命令执行后会将目录切换至root用户的目录
[test@Storm-Test ~]$ sudo su 
[root@Storm-Test /data/home/test]# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
[root@Storm-Test /data/home/test]# pwd
/data/home/test
[root@Storm-Test /data/home/test]# exit
[test@Storm-Test ~]$ sudo su -
[root@Storm-Test ~]# echo $PATH
/root/zale/tools/:/usr/local/jdk1.7.0_25/bin:/usr/local/Zookeeper/bin:/usr/local/apache-maven-3.0.5/bin:/usr/local/apache-storm-0.9.2-incubating/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@Storm-Test ~]# pwd
/root

总结

这里在使用过程中susu -除了环境变量和工作目录不相同以外,其他内容均保持一致。
如需在su的情况下刷新环境变量,执行命令source /etc/profile即可,效果如下。

[test@Storm-Test ~]$ sudo su
[root@Storm-Test /data/home/test]# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
[root@Storm-Test /data/home/test]# source /etc/profile     
[root@Storm-Test /data/home/test]# echo $PATH         
/root/zale/tools/:/usr/local/jdk1.7.0_25/bin:/usr/local/Zookeeper/bin:/usr/local/apache-maven-3.0.5/bin:/usr/local/apache-storm-0.9.2-incubating/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin

相关文章

  • 【Linux-运维】su和su -的区别

    背景:公司为安全考虑,对登陆服务器的权限进行了收归,所有人员必须使用普通用户登录服务器。如需使用root权限运维或...

  • su 和 su - 的区别

    su 命令: 只是切换了用户身份,但是shell环境依然是之前用的环境变量。su - 命令:用户身份和shell环...

  • Ubuntu常用命令学习 (1)

    su、sudo、sudo su、sudo -i的用法和区别 su、su - 、sudo -i : 用户切换到roo...

  • linux中su与sudo与su-的理解

    对于 su , su - , sudo的理解 su 与 su - 的相同点与区别 su全称是switch user...

  • su ,su - ,sudo区别

    http://blog.51cto.com/fuwenchao/1340685

  • su与su - 区别

    https://blog.51cto.com/oldboy/1053606

  • linux加油站

    1.centos6.x和cnetos7.x有什么区别 2.su、su -、sudo三者区别 su:非交互式登录,在...

  • sudo权限

    su,su-,sudo,命令的区别 su 可以切换到用户 user,执行时需要输入目标用户的密码su - 命...

  • Linux-Linux常用命令

    su - root 和su root的区别 输入:su - root(或者其他用户名)这里加了"-"后表示也切换的...

  • linux中su与su -的区别

    声明:该文章并非原创,原文链接linux下su与su -的区别 ,感谢作者的总结。 原文部分摘抄如下: su命令和...

网友评论

      本文标题:【Linux-运维】su和su -的区别

      本文链接:https://www.haomeiwen.com/subject/dywhattx.html