sudo,意为super user do,以超级用户身份执行命令。

目的是解决部分普通用户权限不够的问题。

[test2@localhost ~]$ tail -n 3 /etc/shadow
tail: cannot open ‘/etc/shadow’ for reading: Permission denied

工作原理

一个用户能否使用 sudo 命令,取决于 /etc/sudoers 文件的设置。/etc/sudoers 是一个文本文件,因其有特定的语法,不能直接用 vim 或者 vi 来编辑它,需要用 visudo 这个命令。

只有 root 用户有权限使用 visudo 命令。

[root@localhost ~]# visudo······
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL## Allows members of the users group to mount and unmount the
## cdrom as root
# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom## Allows members of the users group to shutdown this system
# %users  localhost=/sbin/shutdown -h now## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d
·····
  • 第一个表示用户名,如 root 、ubuntu 等;

  • 接下来等号左边的 ALL 表示允许从任何主机登录当前的用户账户;

  • 等号右边的 ALL 表示:这一行行首对一个的用户可以切换到系统中任何一个其它用户;

  • 行尾的 ALL 表示:当前行首的用户,能以 root 用户的身份下达什么命令,ALL 表示可以下达任何命令。

# test2执行查询shadow文件,提示权限不够
[test2@localhost ~]$ tail -f /etc/shadow
tail: cannot open ‘/etc/shadow’ for reading: Permission denied# root下修改sudoer文件
[root@localhost ~]# visudo#includedir /etc/sudoers.d
test2    ALL=(ALL)      NOPASSWD: ALL# 切换test2用户,sudo执行之前的命令[test2@localhost ~]$ sudo tail -f /etc/shadow
setroubleshoot:!!:18715::::::
gdm:!!:18715::::::
rpcuser:!!:18715::::::
nfsnobody:!!:18715::::::

技巧

[test2@localhost ~]$ sudo su -
[sudo] password for test2:
[test2@localhost ~]$ sudo -i

这两种方式也能以 login-shell 的方式切换到 root 用户,但是它和 su - 方法是有区别的:

  • 前者输入 sudo su - / sudo -i 后,需要提供当前用户的登录密码,也就是test2用户的密码;

  • 后者输入 su - 后,需要提供 root 用户的登录密码。

安全

如果一个用户在 /etc/sudoers 文件中,那么它就具有 sudo 权限,就能通过 sudo su - 或者 sudo -i 等命令切换到 root 用户了,那这时这个用户就变成 root 用户了,会对系统造成很大的威胁。所以如果在编辑 /etc/sudoers 文件赋予某种用户 sudo 权限时,必须要确定该用户是可信任的,不会对系统造成恶意破坏,否则将所有 root 权限都赋予该用户将会有非常大的危险。

当然,root 用户也可以编辑 /etc/sudoers 使用户只具备一部分权限,即只能执行一小部分命令。

与su命令的差别

  • 使用 su - ,提供 root 账户的密码,可以切换到 root 用户;

  • 使用 sudo su - ,提供当前用户的密码,也可以切换到 root 用户

两种方式的差异也显而易见:如果我们的 Linux 系统有很多用户需要使用的话,前者要求所有用户都知道 root 用户的密码,这显然是非常危险的;后者是不需要暴露 root 账户密码的,用户只需要输入自己的账户密码就可以,而且哪些用户可以切换到 root,这完全是受 root 控制的(root 通过设置 /etc/sudoers 实现的),这样系统就安全很多了

Linux ❉ sudo 命令相关推荐

  1. linux sudo命令

    Linux sudo命令 正在上传-重新上传取消​ Linux 命令大全 Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行. 使用 ...

  2. Linux sudo 命令提权

    Linux sudo 命令提权 当我们需要用root用户来进行一些操作的时候,每次又不想切换到root用户下,可以给普通用户提权达来达目的. 1,修改配置文件 vim /etc/sudoers,在ro ...

  3. 【Linux】一步一步学Linux——sudo命令(105)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 sudo - 以其他用户身份执行一条命令 sudo命令用来 ...

  4. qt执行linux sudo命令语句,linux命令_sudo

    linux命令_sudo 作者:admin sudo === 以其他身份来执行命令 ## 补充说明 **sudo命令** 用来以其他身份来执行命令,预设的身份为root.在`/etc/sudoers` ...

  5. Linux:sudo命令实例讲解

    Linux下sudo命令实例讲解 转载自:点击打开链接 一.sudo简介 1.概念: sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root ...

  6. linux sudo命令全称,你知道Linux系统中的sudo 命令吗?

    今天小编要跟大家分享的文章是关于Linux系统中sudo命令介绍.熟悉Linux操作系统的小伙伴们你们是否了解sudo命令.sudo 表示 "superuser do". 它允许已 ...

  7. “因一条 Linux sudo 命令,我的 Twitter 账号被封了!”

    整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 一个月前,马斯克想要用 440 亿美元收购国外的社交平台巨头 Twitter,旨在改变 Twitter 的审核政策,实现真正的言论自由. ...

  8. linux sudo 命令无法使用,Linux运维知识之解决Linux下无法使用sudo命令问题

    本文主要向大家介绍了Linux运维知识之解决Linux下无法使用sudo命令问题,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 问题描述 使用普通用户登录后在终端中执行sudo ...

  9. Linux sudo命令和sudoers文件

    一.sudo命令的作用 sudo命令的作用是临时提升当前用户的权限,以使用只有目标用户才能使用的命令,并在命令使用结束后恢复到当前用户权限.最常见的是用来临时使用root才能执行的命令. su的作用是 ...

最新文章

  1. 在eclipse中搭建maven工程(第二种方法)
  2. 13个球一个天平,现知道只有一个和其它的重量不同,怎样称才能用三次就找到那个球?...
  3. 电脑更新重启后黑屏_电脑进入系统后黑屏怎么办?
  4. spark RDD的血缘关系
  5. GraphQL报错:error: NetworkError when attempting to fetch resource.
  6. CF993E Nikita and Order Statistics
  7. 关于Mathematica 的cdf 文件的嵌入应用
  8. 2.11.PHP7.1 狐教程-【PHP 数组】
  9. SpringBoot整合jsp的使用
  10. 420.强密码检测器
  11. python黑帽子第二章实验截图
  12. Win11 无法使用IE11浏览器的解决办法
  13. 从CentOS7默认安装的/home中转移空间到根目录/ - LVM操作简明教程
  14. 知识蒸馏(Knowledge Distillation)
  15. html怎么设置章节,奇数页眉设置成章节名 假设此处需要显示的是章对应内容
  16. 编译原理|LL(1)语法分析实验
  17. java判断微信号、手机、名字的正则表达
  18. js编写一个函数,计算任意两个数字之间所能组成的奇数个数,数字必须是个位数。...
  19. secureCRT上传CentOS镜像
  20. 中国现代书画家——张士高、崔世年、姚子华等

热门文章

  1. NB-IOT的基础知识
  2. 实践是检验真理的唯一标准!!LoopBack 设置案例!
  3. python超市管理系统实训报告_超市管理系统实验报告范文
  4. 安装bcftools
  5. ZW32-12型户外柱上高压真空断路器
  6. Linux技术(1)--CentOS 6.5关闭防火墙步骤
  7. 特征可视化技术(CAM)
  8. python统计文件中每个单词出现的次数_python统计文本中每个单词出现的次数
  9. 考研公共部分科目分支分布以及计算机408分值分布
  10. Go语言函数作为 值 赋值给一个变量 和 函数作为参数传入另一个函数的写法你不想了解咩