【转载】sudo su、sudo su 和su的区别

原文地址:https://www.cnblogs.com/jiading/p/11717388.html
原文地址:https://blog.csdn.net/qq_32640013/article/details/98365435

1 su

申请切换root用户,需要输入root的用户密码。
有些Linux发行版,例如ubuntu,默认没有设置root用户的密码,所以需要我们先使用sudo passwd root设置root用户密码。

2 sudo su

  • 切换root身份,不携带当前用户环境变量
    当前用户暂时申请root权限,所以输入的不是root用户密码,而是当前用户的密码。
    sudo是用户申请管理员权限执行一个操作,而此处的操作就是变成管理员。

3 sudo su -

  • 切换root身份,携带当前用户环境变量

4 sudo

linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

sudo特性主要有这样几点:

  1. sudo能够限制用户只在某台主机上运行某些命令。
  2. sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
  3. sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。
  4. sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440。
    在sudo于1980年前后被写出之前,一般用户管理系统的方式是利用su切换为超级用户。但是使用su的缺点之一在于必须要先告知超级用户的密码
    由于不需要超级用户的密码,部分类Unix系统甚至利用sudo使一般用户取代超级用户作为管理帐号,例如Ubuntu、Mac OS X等。
原文地址:https://www.cnblogs.com/momolei/p/15686446.html