准备任意 1 台虚拟机:
使用 root 给虚拟机创建普通账户 alice,设置密码为 654321

useradd alice
echo 654321 | passwd --stdin alice

提问:

  1. 使用 alice 用户登录系统可以安装软件包吗?
  2. 使用 alice 用户登录系统可以创建用户吗?
  3. 使用 alice 用户登录系统可以启动、关闭服务吗?
    答案:
    (管理员 root 使用 su - alice 切换用户测试一下便可知晓)

su - alice
$ systemctl restart crond #重启计划任务服务会失败
$ useradd xiaoyuan #创建用户会失败
$ yum -y reinstall vim #重装 vim 会失败

那么问题来了,如何让普通用户也可以做管理员的操作呢?
实验验证真理(序曲):

  1. 管理员 root 修改/etc/sudoers 文件,注意是管理员 root 操作:

# vim /etc/sudoers #打开这个文件,在文件最后一行手动添加如下一行内容
alice web1=(root) ALL #让 alice 用户组 web1 这台电脑上可以以 root 的身份执行所有命令
:wq! #该文件为只读文件,需要 root 强制保存退出

  1. 普通用户 alice 再次测试一下,看看能不能装包、启服务、建用户

# su - alice #先切换为普通用户 alice
$ useradd xiaoyuan #创建用户会失败
$ systemctl restart crond #重启服务会失败

什么情况?修改刚才的神奇文件(sudoers)没用吗? 等等... ...

$ sudo useradd xiaoyuan #会提示输入 alice 的密码,正确输入 alice 密码后成功
$ sudo restart crond #成功
$ exit #退出普通用户,回到 root

结论:正常执行命令就是以普通用户的身份执行命令,sudo 后面加命令就是以 root 身份执行命令晋级操作:
管理员 root 再次修改/etc/sudoers 文件,将之前添加的一行内容适当修改如下:

# vim /etc/sudoers
alice web1=(root) NOPASSWD: ALL
:wq! #该文件为只读文件,需要 root 强制保存退出

普通用户 alice 再次测试一下:

# su - alice #先切换为普通用户 alice
$ sudo useradd xiaoyi #不用输入任何密码就可以创建账户
$ sudo -i

#普通用户不需要任何密码,直接切换为 root
结论:su 可以切换用户,sudo 也可以切换用户!

普通用户 sudo -i 切换 root 后就可以为所欲为,但是,前提条件是管理员需要修改 sudoers 文件,允许你这么干!!
附加尝试:

  1. 管理员 root 再次修改/etc/sudoers 文件,将之前添加的一行内容适当修改如下:

# vim /etc/sudoers
alice client=(root) NOPASSWD: ALL
:wq! #该文件为只读文件,需要 root 强制保存退出

假设你是在 web1 主机上做实验,主机名叫 web1,这里故意将 sudoers 配置文件第二列改的和主机名不一致!
看看 alice 是否还可以为所欲为呢?

  1. 管理员 root 再次修改/etc/sudoers 文件,将之前添加的一行内容适当修改如下:

# vim /etc/sudoers
alice ALL=(root) NOPASSWD: ALL
:wq! #该文件为只读文件,需要 root 强制保存退出

假设你是在 web1 主机上做实验,主机名叫 web1,这里故意将 sudoers 配置文件第二列改为 ALL!

看看 alice 是否还可以为所欲为呢?

  1. 管理员 root 再次修改/etc/sudoers 文件,将之前添加的一行内容适当修改如下:

# vim /etc/sudoers

alice ALL=(ALL) NOPASSWD: ALL
:wq! #该文件为只读文件,需要 root 强制保存退出

这里故意将 sudoers 配置文件第二列和第三列改为 ALL!看看 alice 是否还可以为所欲为呢?
总结语法:用户主机名=(提权的用户) NOPASSWD: 命令
授权什么人,在什么主机,以什么人的身份,执行什么命令

作者:一个小运维
链接:https://www.jianshu.com/p/165a7ef3ccf0

rabbitmq入门和实战 - Dcsdn

java 对Redis的导入和导出 - Dcsdn

GitOps 初探 - Dcsdn

sudo命令使用方法相关推荐

  1. sudo 命令无法使用

    1. 不能使用sudo命令解决方法: 想查看这个用户可以使用哪些sudo命令,输入正确密码却不能查看,原因就是在/etc/sudoers中未添加该用户. [xm@oracle ~]$ sudo -l ...

  2. sudoers修改_Ubuntu修改sudoers文件导致sudo命令无法使用的拯救方法

    sudoers命令主要是对sudo命令起作用,应注意不要随意改动sudo文件.若不小心修改了sudoers文件,导致sudo无法使用 其解决办法有: 1 进入root用户 打开命令行终端,输入su和r ...

  3. Linux操作系统下Sudo命令的使用方法说明

    "Sudo" 是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的"权利",让他们执行一些只有超级用户或其他特许用户才能完 ...

  4. 不输入密码执行sudo命令方法介绍

    默认登录的帐号是没有root权限的,为了提升权限来执行任务,我们一般用到sudo+命令来执行,但是不难发现我们一般都要输入密码.那么有没有什么方法可以让我们执行sudo的时候不输入密码呢?当然有咯.那 ...

  5. linux 新建用户没有权限使用sudo命令以root身份执行命令 解决方法

    问题来源: 我们使用sudo命令,让huazi用户使用root身份执行命令时报错: 我们信任您已经从系统管理员那里了解了日常注意事项. 总结起来无外乎这三点: #1) 尊重别人的隐私. #2) 输入前 ...

  6. 6个超实用的Sudo命令使用技巧

    sudo 表示 "superuser do",它允许已验证的用户以其他用户的身份来运行命令.其他用户可以是普通用户或者超级用户. sudo 表示 "superuser d ...

  7. Linux中新建用户用不了sudo命令问题:rootr is not in the sudoers file.This incident will be reported解决

    Linux中新建用户用不了sudo命令问题:rootr is not in the sudoers file.This incident will be reported解决 参考:https://b ...

  8. 关于使用sudo命令后找不到JAVA_HOME的问题

    今天在虚拟机搭建zookeeper环境,结果死活运行不起来,唯一的信息只有out文件里"没有java命令"这一个提示,找来找去发现是找不到java运行环境.可是很奇怪,明明我已经配 ...

  9. debian中添加sudo命令

    解决方法(root命令) apt-get install sudo chmod u+w /etc/sudoers //给此文件增加写入权限 gedit /etc/sudoers找到root ALL=( ...

最新文章

  1. 中科院分子细胞中心、清华大学和Bio-protocol联手发布《高通量筛选实验手册》...
  2. 使用 CodeIgniter 框架快速开发 PHP 应用(二)
  3. 在Java 7里如何对文件进行操作
  4. TCP/IP 笔记一
  5. OAuth2.0 授权的工作原理
  6. linux下的SSHD被连接端口修改
  7. matlab cell
  8. 【原创】RMQ - ST算法详解
  9. 微信小程序-腾讯地图显示偏差问题
  10. 简述python文件操作_python 文件操作总结
  11. 元宇宙里“倒腾狗”,预示“下一代互联网”要来了?
  12. android 三星截长屏,三星如何截屏手机长图,三星四种截图方法介绍
  13. Dynamics CRM 365 - 零基础入门学习后端插件的调试方法
  14. 【小月电子】国产安路FPGA开发板系统学习教程-LESSON9简易测试系统
  15. 阿里云OSS服务开通STS安全令牌
  16. 脱壳基础篇——常用六操作
  17. math.floor javascript
  18. html中划过鼠标滑过上方英文,CSS如何实现鼠标滑过文字出现效果?
  19. python哪个机构教的好_学Python去哪家机构比较好?老男孩教育怎么样?
  20. numpy创建伪单位矩阵

热门文章

  1. python django打造自己的喜马拉雅 3(主页前端+数据库)
  2. Hbase Coprocessor 协处理器 与 JavaAPI
  3. ubuntu18 安装 Facebook 开源库 folly
  4. 4.1 小红书的涨粉逻辑是什么?【玩赚小红书】
  5. 蚂蚁集团获新加坡金管局数字银行牌照 全球仅4家!
  6. centos7是哪种版本Linux,centos7发行版号对应基于RHEL Source(版本)对照表
  7. python黑客库长安十二时辰 更新_【Python成长之路】python 从零学爬虫 -- 没时间看《长安十二时辰》电视剧怎么办?直接爬取所有剧情吧!...
  8. 初中python程序设计教学研究_初中Python程序设计教学方法初探
  9. Java设计模式-迪米特法则
  10. 骨传导蓝牙耳机品牌哪个好、最值得入手的骨传导耳机推荐