当前位置: 首页 > article >正文

Sudo命令的配置及使用

概念

sudo 命令是 Linux 系统中一个非常重要的工具,它允许普通用户以超级用户(通常是 root)或其他用户的身份执行命令。从概念上来说,在普通用户在权限不够的时候,通过 sudo 命令 “摇人”,这个 “人” 就是拥有更高权限的用户(通常是 root)。
sudoers文件在etc目录下。通过使用命令visudo来进行编辑,因为它具有检测功能。

Sudo文件格式

目录结构

名称位置说明
/etc/sudoers/etc/sudoerssudo 的核心配置文件,使用 visudo 编辑,定义用户或组的 sudo 权限。
/etc/sudoers.d//etc/sudoers.d/存放 sudo 配置文件的子目录,权限设为 440,系统会自动读取。
/var/log/auth.log/var/log/auth.log记录 sudo 使用情况的日志文件,用于审计和故障排除。
/usr/bin/sudo/usr/bin/sudosudo 命令的可执行文件位置。
/usr/lib/sudo//usr/lib/sudo/包含 sudo 相关的库和辅助文件,支持 sudo 运行。

sudoers权限分配

基本格式
  • 配置用户sudo命令配置
#表示用户(%组别)能用sudo在所有主机上使用全部命令
username ALL=(ALL) ALL
  • 命令组,将多个命令创建一个组,和能使用的命令可执行文件路径。注意命令组名称需要为大写。
Cmnd_Alias groupname = /usr/bin/ls, /usr/sbin/wget, /usr/bin/curl
创建命令组
  • 多个命令使用,分开。
Cmnd_Alias SERVER_CODE = /usr/bin/wget, /usr/bin/ls, /usr/bin/cat

Pasted-image-20250120161618

创建用户sudo权限
  • 一样多个命令使用,进行分隔。
Server  ALL=(ALL) /usr/bin/ls

Pasted-image-20250120161638

为用户设置命令组
cat /etc/sudoers | grep Server

Pasted-image-20250120162533

设置排除命令
  • 多个命令使用,分隔开来
Cmnd_Alias SERVER_CODE = ALL, !/usr/bin/ls
Server  ALL=(ALL) SERVER_CODE

Pasted-image-20250120163233

用户组配置
  • 组的名字前面需要添加一个%才能保证配置文件识别到这个是组
%where  ALL=(ALL) SERVER_CODE

Pasted-image-20250120164111

Sudo命令

命令参数

┌──(Server㉿lvy)-[~]
└─$ sudo
用法: sudo -h | -K | -k | -V
用法: sudo -v [-ABkNnS] [-g 组] [-h 主机] [-p 提示符] [-u 用户]
用法: sudo -l [-ABkNnS] [-g group] [-h host] [-p prompt] [-U user]
            [命令 [arg ...]] [-U 用户]
使用方法: sudo [-ABbEHkNnPS] [-r role] [-t type] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command [arg ...]]
            [-g 组] [-h 主机] [-p 提示符] [-R 目录] [-T 超时]
            [-u user] [VAR=value] [-i | -s] [command [arg ...]] (命令)
用法: sudo -e [-ABkNnS] [-r role] [-t type] [-C num] [-D directory]
            [-g 组] [-h 主机] [-p 提示符] [-R 目录] [-T 超时]
            [-u 用户] 文件 ...

常用参数

查看可使用的命令
  • -l查看当前用户能用sudo提权使用的命令
sudo -l

Pasted-image-20250120164635

指定用户执行
  • -u指定一个用户执行,这时候执行的操作就会使用指定用户的权限。权限不足则会无法执行
sudo -u root apt-get update

Pasted-image-20250120165132

打开另一用户shell
  • -i打开另一用户的默认的shell,相当于以以那个用户执行
sudo -i

Pasted-image-20250120170719

  • 如果配置不当的话sudo启动的终端也是具备有root权限的。
    Pasted-image-20250120171154
  • 放置这个情况只需要排除用sudo来执行shell就可以防止。
    Pasted-image-20250120171544

http://www.kler.cn/a/511950.html

相关文章:

  • Python新春烟花
  • 使用Torchvision框架实现对象检测:从Faster-RCNN模型到自定义数据集,训练模型,完成目标检测任务。
  • 电脑换固态硬盘
  • 网络安全 | 什么是正向代理和反向代理?
  • 1166 Summit (25)
  • HarmonyOS应用开发-低代码开发登录页面(超详细)
  • 【前端】CSS学习笔记(1)
  • Unity自学之旅01
  • JupyterLab 安装以及部分相关配置
  • WSL 2 自动更新 虚拟 IP 到 window hosts
  • 说说HashMap 的位操作以及HashSet的contains方法复杂度是多少?
  • std::forward实现原理与应用场景
  • Linux之socket编程(上)
  • Excel 技巧14 - 如何批量删除表格中的空行(★)
  • 工业现场数据实时采集:解锁工业智能化转型的关键
  • 深入理解Linux系统内存中文件结构以及缓冲区,模拟实现c语言库文件接口
  • 《重生到现代之从零开始的C++生活》—— 类和对象2
  • 【STM32-学习笔记-14-】FLASH闪存
  • 开源模型应用落地-工具使用篇-Spring AI-高阶用法(九)
  • 力扣203题—— 移除链表元素
  • ovs实现lb负载均衡
  • 外部flash烧写算法学习笔记(一)
  • Linux:EXT2文件系统
  • 分布式 IO 模块:开启药品罐装产线高效生产新纪元
  • 技术面试中的软素质技巧性答复集锦
  • 【HarmonyOS NEXT】鸿蒙三方应用跳转到系统浏览器