当前位置: 华文星空 > 知识

为什么Linux用户用sudo命令而不直接使用root用户?

2021-07-14知识

sudo (superuser do)

我们对sudo的误解应该是比较大,常规理解它只是一个获取命令root执行权限的途径,并没有关注到它的其它用法。

sudo是一个用于基于UNIX和Linux的系统的实用程序,它提供了一种有效的方法,允许特定用户在系统的root(最高权限)级别上使用特定的系统命令。 sudo还会记录所有命令和参数。基于sudo管理的多用户操作系统,最高权限管理员(root)可以做到:

  • 控制让某些用户(或用户组)能够在系统的root权限级别运行某些(或所有)命令
  • 控制用户可以在每个主机上使用哪些命令
  • 从日志中清楚地看到哪些用户使用了哪些命令
  • 使用时间戳文件,控制用户在输入密码并被授予适当特权后输入命令的时间
  • 这里比较值得一提的就是 为什么Linux的发行版系统都要对Root权限进行控制?

    对于家用、普通桌面操作系统而言,Linux有很多执行层面的处理是用户不关心的,并且变更可能影响系统软件运行,比如启机脚本、Bootloader配置、系统库等,这些在用户使用层面并不关心,对操作权限进行可控制,可以很大层面预防误操作,特别是Linux这种多用户操作系统,有可能一台设备一个系统有多个人同时在使用,权限管理的重要性相当重要。

    一个字符之差,操作的预期就天差地别。

    对于嵌入式Linux系统就不同了,由于执行的软件比较专用,且面向的都是专业的开发人员,比较常见启机默认就以Root权限登录,免去繁琐的sudo命令前缀。