su 和 su - 的区别

在使用Linux的过程中,会进行一些用户切换的行为。

经常使用的命令是

su `用户名称`

su - `用户名称`

两者的使用用途有所不同,不注意区分会发生意想不到的问题。

su命令

使用该命令进行用户切换后,环境变量不发生改变,使用的环境变量还是切换前的用户环境变量

切换后,当前文件目录不变


su - 命令

使用该命令进行用户切换后,环境变量发生改变,使用的环境变量变为切换后的用户环境变量

切换后,当前文件目录变为 '/home/用户名',也就是进入了切换后用户的根目录



至于su命令导致环境变量没有切换可能导致的问题

如果两个用户的环境变量不同,一些进程启动时读取到的环境变量值就会不同,由此可能会出现一些奇怪的问题,所以切换用户的时候需要特别注意环境变量的问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景:公司为安全考虑,对登陆服务器的权限进行了收归,所有人员必须使用普通用户登录服务器。如需使用root权限运维或...
    blue_smile阅读 1,099评论 0 0
  • 1、背景 我们在使用linux的时候,经常会使用到切换用户的操作 这时候su,su - 那个合适呢?,有什么...
    早点起床晒太阳阅读 1,174评论 0 2
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,537评论 0 5
  • (一)基本命令 命令格式: 命令 参数 1.ls 显示文件名,等同于dos下dir命令 命令格式:ls [opti...
    飞羽孟德阅读 2,010评论 0 3
  • Linux 目录 /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。...
    miniminiming阅读 794评论 0 4