sudo -s sudo -i 的区别

3 min read

sudo -s 和 sudo -i 命令都可以用于提升用户权限,使得用户可以执行需要特权的操作。但是它们的区别在于:

  1. sudo -s:会将当前用户的环境变量保留下来,并且不会切换到目标用户的环境变量。也就是说,执行 sudo -s 后,用户仍然是以当前用户的身份运行,只是获得了目标用户的权限。

  2. sudo -i:会将当前用户的环境变量完全替换成目标用户的环境变量,并切换到目标用户的身份。也就是说,执行 sudo -i 后,用户完全变成了目标用户,拥有了目标用户的一切权限和环境变量。

因此,如果需要完全替换当前用户的身份,以获得目标用户的一切权限和环境变量,应该使用 sudo -i 命令;如果只是需要临时提升权限,而不需要改变当前用户的环境变量,可以使用 sudo -s 命令。