51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 769|回复: 0
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-8 14:59:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 草帽路飞UU 于 2022-8-8 16:58 编辑

背景
  在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
解释下每一列的含义:
  ·第一列表示用户名,如root? 、ubuntu 等;
  · 第二列,等号左边的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 文件进行全变更,然后再进行修改,最后再将权限变更回去。虽然也能实现同样的修改功能,但绕的太远了。读完这篇文章的朋友,现在你已经解锁了新的、更方便的命令。









分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 01:50 , Processed in 0.061229 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表