热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

nopasswd:allsudo_IT圈的幽默:老婆对老公使用了sudo提权

今天朋友圈又被一张图刷屏了,搞技术的看完会心一笑,圈外人看了估计一脸懵逼。图中老婆对老公说想买锅,老公抱怨家里又不开伙,买锅

今天朋友圈又被一张图刷屏了,搞技术的看完会心一笑,圈外人看了估计一脸懵逼。图中老婆对老公说想买锅,老公抱怨家里又不开伙,买锅作甚。神奇的一幕来了,老婆对老公使用了sudo命令,老公像变了个人,立马答应买。

62c167ac953af6f834410d5f20d4b7f3.png

首先可以确定的事情是图中对话的两夫妻都是技术人员,而且非常默契,老婆抛出的梗,老公马上就能接住。整个对话关键就在于“sudo 买”。“买”是一个命令,老婆此时化身成为了用户,把老公当成了linux系统,在之前对话中老婆权限不够,“买”的命令没有成功执行,使用sudo后,命令立马执行。

99d3b35579219897f2b2ad5a95fd2e15.png

我们把“买”这个命令换成cat /etc/shadow,就能完全转换成linux理解的命令,看我操作。注意一个细节我们这里输入的密码是本账号的密码,后面还会说到。

d16bd62a6245fbbafdadb085b2edaffa.png

如果你自己账号无法sudo提权,系统会显示:Username is not in the sudoers file. This incident will be reported。Username是你当前账号。

e4328dab25801f0a98211fab54be5c76.png

我们先来了解一下sudo命令在linux中的作用。linux最高权限是root,该命令允许特定用户像root用户一样使用各种各样的命令,而不需要root用户的密码,配置文件在/etc/sudoers中,只有root可操作。我们刚才的设置其实就是以root身份在这个文件里面加上了一句话linuxvp ALL=(ALL) /usr/bin/cat。当然想要执行任意命令就是linuxvp ALL=(ALL) ALL。

91420ec5f8ff228bd03fbc2bc01d9c81.png

很多初学者常常弄混了sudo和su,不考虑参数,sudo后面加的是命令,su后面加的是用户名。考虑参数,就会出现两个比较像的命令,都能切换到root用户。

  • sudo -iu root
  • su - root

一个关键不同点,sudo输入的密码是当前用户的密码,su输入的密码是新用户的密码。su切换到root其实可以直接简化成su,这样就好理解下面这个图为什么要输入当前用户的密码了。

441e741dfac594c3b35a5349fd771987.png

sudo还可以设置免密执行命令,一个简单的写法,将之前的写入/etc/sudoers中的最后一个ALL改成NOPASSWD:ALL

  • your_user_name ALL=(ALL) ALL
  • your_user_name ALL=(ALL) NOPASSWD: ALL
dca4b8fe9e0b25a276310e4fd4a67b60.png

经过上面的解释,就能很好理解我们开头这个对话的评论了:

程序员A:难道老婆不是默认工作在root权限下的么?

程序员B:最后一句老公应该说“Password:”

程序员C:那么老婆应该说“******回车”

程序员D:不需要密码,因为wife ALL=(ALL) NOPASSWD: ALL

程序员E:老公要硬气一点,直接发送You are not in the sudoers file. This incident will be reported.

程序员F:敢不买就“rm -rf 老公”了

程序员G:其实老婆用“买 -f”就够了



推荐阅读
author-avatar
手机用户2602928177
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有