首页 > 系统相关 > Linux 命令 su 和 sudo 的区别

Linux 命令 su 和 sudo 的区别

时间:2022-12-17 23:31:19浏览次数:43  
标签:USERNAME sudo 用户 su Linux password root

前戏

参加某大会和某个运维行业大佬聊天被问到

一直没有研究过这个问题,可能一直是最高权限吧


sudo

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

格式:​​sudo -u USERNAME COMMAND​

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

sudo的运行有这样一个流程:

  • 当用户运行sudo时,系统于 /etc/sudoers 文件里查找该用户是否有运行sudo的权限;
  • 若用户具有可运行 sudo 的权限。那么让用户输入用户自己的 password,注意这里输入的是用户自己的 password。
  • 假设 password 正确。变開始进行 sudo 后面的命令,root 运行 sudo 是不须要输入 password 的,切换到的身份与运行者身份同样的时候。也不须要输入 password。

su

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

su是最简单的身份切换名,用su我们能够进行不论什么用户的切换,一般都是su – username,然后输入password就ok了,可是root用su切换到其它身份的时候是不须要输入password的。

格式为两种:

su -l USERNAME(-l为login,即登陆的简写)

su USERNAME

如果不指定 ​USERNAME​(用户名),默认即为 root,所以切换到 root 的身份的命令即为:su -root 或su -,su root 或su。

​su USERNAME,与su – USERNAME的不同之处如下:

  • su – USERNAME切换用户后,同时切换到新用户的工作环境中。
  • su USERNAME切换用户后,不改变原用户的工作目录,及其他环境变量目录。

如何设置初始su密码

​当我们输入su时会发现要输入密码,我们尝试输入自己当前用户的密码,发现failure。

但我们又不知道su密码是什么?其实su初始密码可以通过下面方式进行设置:

sudo passwd

su –

su -,su -l或 su –login 命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更 PATH 变量。用su -命令则默认转换成成 root 用户了。

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

注意:su -使用root的密码,而sudo su使用用户密码




标签:USERNAME,sudo,用户,su,Linux,password,root
From: https://blog.51cto.com/u_15222272/5950190

相关文章

  • USB总线-Linux内核USB3.0设备控制器之dwc3 gadget驱动初始化过程分析(五)
    1.概述USB设备控制器(UDC)驱动的框图如下图所示,由三部分组成。第一部分是UDC驱动核心层,在drivers/usb/gadget/udc/core.c文件中实现,该层是一个兼容层,将USBFunction驱动和具......
  • Linux的文件系统层次标准(FHS)
    Linux系统中的一切文件都是从“根”目录(/)开始的,并按照文件系统层次标准(FHS)采用倒树状结构来存放文件,以及定义了常见目录的用途。另外,Linux系统中的文件和目录名称是严格区分......
  • 题解 CF1762E【Tree Sum】
    problem根据prufer引理,有标号的无根树的种类是\(n^{n-2}\)。对于一棵n个节点的带权无根树,边权总是+1或者-1。那么总共有\(n^{n-2}*2^{n-1}\)种树。其......
  • Linux 7实现多网卡绑定—bond0方式
    文档课题:Linux7实现多网卡绑定—bond0方式.系统:centos7.964位环境介绍:vmware虚拟机+网卡为NAT模式.说明:此次演示bond0,bond地址192.168.133.1201、添加网卡添加2......
  • Linux项目部署
    手工部署项目第一步,将所要部署的项目打成jar包第二步,将jar包上传到linux服务器创建目录:mkdir/usr/local/app,输入rz上传jar包第三步,启动springboot程序:在目录下输入......
  • 空间不足了?用linux搭建samba家庭共享盘
    目录背景--空间不够,文件太散乱环境搭建硬盘开机自动挂载samba安装配置参考背景--空间不够,文件太散乱最近在使用各种设备的时候,总是觉得存储空间告急。总觉得现在不太喜......
  • Linux网络命令
    目录ifconfig命令route路由命令ip命令netstat命令ping命令telnet命令ssh命令ifconfig命令用于配置网卡ip地址等网络参数信息,或者查看网络接口信息,类似于windows的ipconfi......
  • Linux的vi/vim指令
    但是目前我们使用比较多的是vim编辑器。vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。相关文章:​​史上最全Vim快捷键键位图—入门到进阶......
  • Linux 磁盘管理
    。Linux磁盘管理常用三个命令为df、du和fdis的整体磁盘使用量du(英文全称:diskused):检查磁盘空间使用量fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间占用情......
  • Linux 文件与目录管理
    Linux的目录结构为树状结构,最顶级的目录为根目录/。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。在开始本教程前我们需要先知道什么是绝对路径与相对......