su与su -,sudo 的区别

Posted sharesdk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了su与su -,sudo 的区别相关的知识,希望对你有一定的参考价值。

"sudo" , "su" , "su - " 区别;

一、sudo是一种权限管理机制,依赖于/etc/sudoers,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令;

格式:
sudo -u USERNAME COMMAND

默认情况下,系统只有root用户可以执行sudo命令。需要root用户通过使用visudo命令编辑sudo的配置文件/etc/sudoers,才可以授权其他普通用户执行sudo命令。

二、su 为 switch user,即切换用户的简写。

格式为两种:
su -l USERNAME(-l为login,即登陆的简写)
su USERNAME

如果不指定USERNAME(用户名),默认即为 root,

su USERNAME,与su - USERNAME的不同之处如下:
1、su - USERNAME 切换用户后,同时切换到新用户的工作环境中。
2、su USERNAME 切换用户后,不改变原用户的工作目录,及其他环境变量目录。

三、su -,su -l 或 su --login 命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。

"su" 与 "su - " 切换最大的就是 更改了环境变量一块切换。

用su -命令则默认转换成成root用户了。

所以切换到root的身份的命令即为:su -root 或 su -su root 或 su

而不带参数的"su命令"不会改变当前工作目录以及 HOME,SHELL,USER,LOGNAME。只是拥有了root的权限而已。

以上是关于su与su -,sudo 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Linux下su与su -命令的本质区别

su与su-的区别

su与su-切换用户的区别

Linux 系统中用户切换(su user与 su - user 的区别)

不可不知的su与su -的区别!

linux命令:“su”与“su -”的区别