背景

在Linux系统操作时,通常不会直接采用root用户。但当某些命令需要root权限执行时,往往会通过sudo命令提升当前用户的执行权限来完成。

如果普通用户并未进行配置相应的配置,则在使用sudo命令时会提示“xxx 不在 sudoers 文件中。此事将被报告。“

本篇文章就带大家实践一下如何对普通用户配置sudo命令执行的权限。

sudo命令权限配置

sudo 的英文全称是 super user do,即以超级用户(root 用户)的方式执行命令。用户是否拥有sudo命令的执行权限,要看是否在于 /etc/sudoers 文件进行了设置。

/etc/sudoers 是一个文本文件,有其特定的语法,不要直接用 vim 或者 vi 来进行编辑,而是采用 visudo 命令。需要注意的是只有root用户有该命令的执行权限。

切换到root用户,命令行输入 visudo ,即可直接进入/etc/sudoers 的编辑页面。

[root@iZ2zedonrtl5m2zsh6tr1xZ ~]# visudo

忽略掉其他配置信息,直接查看底部如下信息:

# User privilege specification
root    ALL=(ALL:ALL) ALL  # Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL  # Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL  # See sudoers(5) for more information on "#include" directives:  #includedir /etc/sudoers.d
ubuntu  ALL=(ALL:ALL) NOPASSWD: ALL

解释下每一列的含义:

  • 第一列表示用户名,如 rootubuntu 等;
  • 第二列,等号左边的 ALL 表示允许从任何主机登录当前的用户账户;
  • 第二列,等号右边的 ALL 表示:第一列的用户可以切换到系统中任何一个其它用户;
  • 第三列, ALL 表示:第一列的用户能以root用户的身份下达什么命令,ALL 表示可以下达任何命令。
  • ubuntu用户第三列有一个 NOPASSWD 关键字,表明ubuntu用户在请求 sudo 时不需要输入密码。

如果你的用户在切换时,如果出现”不在 sudoers 文件中“的警告信息,那么核查一下,对应的用户应该没有在该文件中进行配置,因此也无法使用 sudo 命令。

参考ubuntu用户的配置,将需要提升权限的用户(比如test_user)添加到 /etc/sudoers 文件中:

test_user  ALL=(ALL:ALL)  ALL   # test_user 使用sudo需要提供test_user的密码

上面配置在执行sudo时需要提供密码,那么不需要提供密码配置方式如下:

test_user  ALL=(ALL:ALL)  NOPASSWD:ALL   # test_user 使用sudo需要提供test_user的密码

添加完毕,esc退出编辑,执行:wq,退出并保存。

此时切换到test_user用户,执行需要root权限的命令时,前面添加sudo即可。

[test_user@iZ2zedonrtl5m2zsh6tr1xZ ~]$ sudo docker ps -a
CONTAINER ID   IMAGE         COMMAND    CREATED             STATUS                         PORTS     NAMES
903734808a1e   hello-world   "/hello"   About an hour ago   Exited (0) About an hour ago             happy_jennings

可以看到,现在 sudo 命令已经可以正常使用了。

小结

针对普通用户临时提升权限执行命令的场景,只需在 /etc/sudoers 文件中进行配置即可。网络上也有其他的配置方案,但未使用visudo命令,而是先对 /etc/sudoers 文件进行全变更,然后再进行修改,最后再将权限变更回去。虽然也能实现同样的修改功能,但绕的太远了。读完这篇文章的朋友,现在你已经解锁了新的、更方便的命令。

博主简介:《SpringBoot技术内幕》技术图书作者,酷爱钻研技术,写技术干货文章。

公众号:「程序新视界」,博主的公众号,欢迎关注

技术交流:请联系博主微信号:zhuan2quan


程序新视界”,一个100%技术干货的公众号


Linux下如何配置普通用户的sudo命令权限?相关推荐

  1. Linux下如何让普通用户具备sudo执行权限(普通用户提权)

    我这里的普通用户是zhangfei 首先还是需要知道root的密码 第一步:切换到root下:su,并输入密码 第二步:输入  vi /etc/sudoers,加入一行即可(zhangfei   AL ...

  2. linux执行指定程序的命令,linux 下使用指定的用户来执行命令

    有时间,我们需要在开机的时候执行一些特定的程序或都脚本,因为涉及到安全主面的问题,所以又不想用root来执行,那怎样办呢. 经过查看 su 的帮助提示,发现: [root@redhat6 ~]# su ...

  3. 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 ...

  4. Linux 下安装配置 JDK7

    Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将"Operating System Distribut ...

  5. linux login 安装桌面,Linux_Ubuntu Linux下安装配置fluxbox桌面环境,安装   基本系统Ubuntu 7.10 G - phpStudy...

    Ubuntu Linux下安装配置fluxbox桌面环境 安装 基本系统Ubuntu 7.10 Gutsy,Xfce桌面.直接安装源里的fluxbox: aptitude install fluxbo ...

  6. Linux下创建和删除用户

    Linux下创建和删除用户 目录 Linux下创建和删除用户 1 创建新用户 2 配置新用户 3 进入新用户 4 删除用户 1 创建新用户 在普通root用户下可能没有权限操作,因此直接在root下操 ...

  7. 批量修改linux服务器密码,Linux下批量修改服务器用户密码方法步骤

    Linux下批量修改服务器用户密码方法步骤 密码快要过期.由于机器数量众多,因此采用批量修改密码的方式来进行处理. 下面是具体步骤: 1.配置ssh免key # ssh-keygen -t rsa - ...

  8. linux下抓管理员hash,Linux下抓取登陆用户密码神器mimipenguin

    windows下有Mimikatz,现在linux下有了mimipenguin,国外安全研究员huntergregal发布了工具mimipenguin,一款Linux下的密码抓取神器,弥补了Linux ...

  9. linux下mysql的配置,Linux下Mysql配置()

    摘要 腾兴网为您分享:Linux下Mysql配置(),智慧医疗,小太阳,享家,相机美颜等软件知识,以及重庆地税12366,正常的小学上课时间表,移动云信,dnf幸运冒险家,八爪龙演播大师,几米入早教, ...

最新文章

  1. vector 容器 动态数组总结
  2. java基础-值传递
  3. git config命令使用
  4. Eclipse报错:gc overhead limit exceeded eclipse
  5. 中南大学c语言程序设计2013年下学期期末考试,2013级计算机专业本科生C语言程序设计期末考试资料.doc...
  6. AHP层次分析法解决用户价值评估
  7. Java学习_强制类型转换
  8. React-Router面试题汇总
  9. CSS2.1 盒模型
  10. js里面把密码encode_Python实战案例:这是你见过的最详细的JS加密登录某博
  11. PowerTip of the Day-Removing Empty Things
  12. java报错 csrf_CSRF Security Error解决办法
  13. maven-聚合与继承
  14. delphi7 安装 indy10.2.3
  15. 筑业单机版建材管理软件
  16. mysql中两位小数点_mysql 保留两位小数函数
  17. 谷歌浏览器插件 - 为 Microsoft Bing 搜索引擎首页添加一个【保存背景图片】的按钮(版本 1)
  18. 网络和浏览器相关笔记
  19. 奉子成婚,永远不可能成为潮流
  20. 解决数据库日期返回格式不是yyyy-MM-dd HH:mm:ss 的问题

热门文章

  1. 腾讯高级音视频架构师郭亮:解密互动直播技术
  2. spark csv 导入_Spark:生成CSV文件以导入到Neo4j
  3. pythonstaticmethod调用外部变量_在Python中,是否可以从staticmethod引用实例变量?
  4. 佐客牛排机器人餐厅_这些机器人服务员上菜的网红餐厅你一定喜欢丨打卡指南...
  5. 5G信道建模研究进展与展望
  6. 面试官经常提问的问题如何回答够得体?
  7. 最小攻击超过最大攻击_比武招亲最小攻击和最大攻击的优劣势分析
  8. vue开发微信小程序用户授权和手机授权(UNI开发)
  9. 不用科学上网,免费的GPT-4 IDE工具Cursor保姆级使用教程
  10. 在Python和TensorFlow上构建Word2Vec词嵌入模型