Linux 下 su 和su - 的区别?

2 min read

在 Linux 中,su 和 su - 都是切换当前用户身份为 root 的命令,但它们的区别如下:

  1. su :切换到 root 身份,但环境变量等信息不会发生改变,仍然是原用户的信息。

  2. su - :切换到 root 身份,同时环境变量等信息会被更改为 root 用户的信息,即会使用 root 的家目录和 PATH 等环境变量。

使用 su - 比 su 更安全,因为它会使用 root 的环境变量,避免了由于使用非 root 的环境变量导致的潜在问题。