inux普通用户下执行su和执行sudo su有什么区别?
在 Linux 系统中,su
和 sudo su
用于从普通用户切换到超级用户(root 用户),但它们之间有一些关键的区别:
-
权限验证方式不同:
su
(switch user 的缩写)允许用户切换到另一个用户身份。当你执行su
命令时(比如su
或su root
),系统会要求你输入目标用户(通常是 root)的密码。sudo su
结合了sudo
(superuser do 的缩写)和su
。在这种情况下,使用sudo
执行su
命令。此时系统会要求你输入当前用户的密码(如果你是通过sudo
获取 root 权限的)。这样做的好处是不需要知道 root 用户的密码。
-
安全性不同:
- 使用
su
时,任何知道 root 密码的用户都可以切换到 root。这可能会有安全风险,因为 root 密码可能被多人共享。 - 使用
sudo su
时,只有在sudoers
文件中被明确授权的用户才能切换到 root。这样可以更细粒度地控制谁可以获得 root 权限,并且每个用户使用自己的密码,增加了安全性。
- 使用
-
环境变量的处理:
su
默认不会加载 root 用户的完整环境,这意味着一些环境变量可能不会被设置。sudo su
则会尽可能地继承当前用户的环境,并以 root 用户身份执行。通过sudo
执行su
通常能获得更接近于完整 root 环境的体验。
-
日志记录:
su
命令本身通常不会在日志中记录执行者的身份,仅记录了su
操作本身。sudo su
通过sudo
执行,因此sudo
的日志会记录执行该命令的用户和时间,这有助于审计和追踪。
总体来说,sudo su
在安全性和灵活性上通常是更好的选择。
我平时安装docker等第三方应用都是直接su,然后在root下安装的,如果我改成sudo su,会不会有问题?
使用 sudo su
替代直接使用 su
进行 Docker 等第三方应用的安装,通常不会引发问题,而且从安全性和日志记录的角度看,这是一个更好的做法。以下是一些关键点:
-
环境变量的差异:
- 当你使用
su
成为 root 用户后,可能不会完全加载 root 用户的环境,这取决于su
的使用方式和你的 shell 配置。这意味着某些环境变量可能和直接登录为 root 用户时不同。 - 使用
sudo su
,你的环境变量更可能接近当前用户的环境,但仍然以 root 身份运行。这通常对大多数应用安装不会产生影响,因为安装脚本通常会设定它们需要的特定环境变量。
- 当你使用
-
权限和安全性:
- 使用
su
时,你需要知道 root 用户的密码。这在多用户环境中可能不是最佳选择,因为共享 root 密码增加了安全风险。 sudo su
允许你在不知道 root 密码的情况下,使用自己的用户密码获取 root 权限。这样做的好处是每个用户都使用自己的凭证,并且sudo
的使用会被记录下来,有助于事后审计。
- 使用
-
日志记录:
- 使用
su
直接切换到 root 用户不会在sudo
日志中留下记录。 - 使用
sudo su
则会在sudo
日志中记录谁执行了该命令,这对于跟踪和安全审计很有帮助。
- 使用
总结来说,如果你改为使用 sudo su
安装 Docker 或其他第三方应用,通常不会遇到问题,反而可以提高系统的安全性和可追踪性。当然,具体行为可能受到你的 Linux 发行版和具体配置的影响,但对大多数标准安装而言,这是一个无缝的转变。
ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ
ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ ᅟᅠ