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

ansible提权之become_method与become_flags详解

目录

  • 常见become_method
  • become_flags
      • `su` 常见选项总结
      • `sudo` 常见选项总结
      • `pbrun` 常见选项总结
      • `pfexec` 常见选项总结
      • `doas` 常见选项总结
      • 示例
        • 使用 `sudo` 的示例:
        • 使用 `pbrun` 的示例:
        • 使用 `pfexec` 的示例:
        • 使用 `doas` 的示例:
  • 配置方式
      • 1. 配置文件
      • 2. 命令行参数
      • 3. Playbook 配置
        • 全局配置
        • 任务级别配置
      • 4. Inventory 文件配置


常见become_method

become_method用于指定在远程主机上提升权限的方法。常见的方法包括:

  1. sudo: 通过sudo命令提升权限,通常是从普通用户提升到超级用户(root)。

    • 示例:become_method: sudo
    • 特点:需要在目标主机上配置sudoers文件,指定哪些用户有权限使用sudo。
  2. su: 通过su命令切换到其他用户,通常是从普通用户切换到超级用户。

    • 示例:become_method: su
    • 特点:需要提供目标用户的密码,适用于不支持sudo的系统。
  3. pbrun: 使用Privilege Manager的pbrun命令提升权限。

    • 示例:become_method: pbrun
    • 特点:适用于使用Privilege Manager的企业环境。
  4. pfexec: 使用Solaris上的pfexec命令提升权限。

    • 示例:become_method: pfexec
    • 特点:适用于Solaris系统。
  5. doas: 使用OpenBSD上的doas命令提升权限。

    • 示例:become_method: doas
    • 特点:适用于OpenBSD系统。

become_flags

become_flags用于指定在使用become_method提升权限时的附加命令行标志。这些标志根据具体的become_method而有所不同。
以下是其他常见 become_method 及其 become_flags 配置的总结:

su 常见选项总结

  • -c “command”: 执行指定的命令。
  • -l: 模拟完整的登录,加载用户的环境变量。
  • -r: 模拟完整的登录,加载用户的环境变量(与 -l 类似)。
  • -m-p: 保留当前环境变量。
  • -s /bin/bash: 指定要使用的 shell。
  • -f: 快速模式,不执行 .profile 文件。

sudo 常见选项总结

  • -H: 切换用户的 HOME 环境变量为目标用户的主目录。
  • -S: 从标准输入读取密码,通常用于非交互式环境。
  • -u username: 指定以哪个用户身份执行命令,默认是 root。
  • -b: 在后台执行命令。
  • -i: 模拟初次登录,加载用户的环境变量。
  • -E: 保留用户的环境变量,不重置环境变量。
  • -k: 强制重新输入密码,不使用缓存的认证。

pbrun 常见选项总结

  • -u username: 指定以哪个用户身份执行命令。
  • -p policy: 使用特定的安全策略执行命令。
  • -n: 不提示输入密码。
  • -t timeout: 指定命令的超时时间。

pfexec 常见选项总结

  • -s: 使用指定的 shell 执行命令。
  • -u username: 指定以哪个用户身份执行命令。

doas 常见选项总结

  • -u username: 指定以哪个用户身份执行命令,默认是 root。
  • -n: 不提示输入密码。
  • -s: 使用指定的 shell 执行命令。

示例

使用 sudo 的示例:
- hosts: allbecome: yesbecome_method: sudobecome_flags: '-H -u username'tasks:- name: 安装HTTP服务器apt:name: apache2state: present
使用 pbrun 的示例:
- hosts: allbecome: yesbecome_method: pbrunbecome_flags: '-u root -n'tasks:- name: 执行自定义命令command: /path/to/your/command
使用 pfexec 的示例:
- hosts: allbecome: yesbecome_method: pfexecbecome_flags: '-s'tasks:- name: 执行自定义命令command: /path/to/your/command
使用 doas 的示例:
- hosts: allbecome: yesbecome_method: doasbecome_flags: '-u username -n'tasks:- name: 执行自定义命令command: /path/to/your/command

配置方式

1. 配置文件

你可以在 Ansible 的配置文件(通常是 ansible.cfg)中设置 become_methodbecome_flags。在配置文件中添加以下内容:

[defaults]
become=True
become_method=su
become_flags=-r

2. 命令行参数

在执行 Ansible 命令时,可以使用命令行参数来设置 become_methodbecome_flags。例如:

ansible-playbook -i inventory playbook.yml --become --become-method=su --become-flags="-r"

3. Playbook 配置

在 Playbook 中,你可以在全局或任务级别设置 become_methodbecome_flags

全局配置
- hosts: allbecome: yesbecome_method: subecome_flags: '-r'tasks:- name: 执行自定义命令command: /path/to/your/command
任务级别配置
- hosts: allbecome: yestasks:- name: 使用 su 提升权限并执行命令become_method: subecome_flags: '-r'command: /path/to/your/command

4. Inventory 文件配置

在 Inventory 文件中,你可以为特定主机或主机组设置 become_methodbecome_flags

[all:vars]
ansible_become=yes
ansible_become_method=su
ansible_become_flags=-r[webservers]
webserver1.example.com
webserver2.example.com[dbservers]
dbserver1.example.com
dbserver2.example.com

相关文章:

ansible提权之become_method与become_flags详解

目录 常见become_methodbecome_flagssu 常见选项总结sudo 常见选项总结pbrun 常见选项总结pfexec 常见选项总结doas 常见选项总结示例使用 sudo 的示例:使用 pbrun 的示例:使用 pfexec 的示例:使用 doas 的示例: 配置方式1. 配置文…...

elementui的el-dialog组件与el-tabs同时用导致浏览器卡死的原因解决

在el-dialog弹出框中&#xff0c;如果使用el-tabs&#xff0c;点击弹框的关闭按钮时&#xff0c;会导致弹出框无法关闭&#xff0c;且浏览器卡死。 解决方式&#xff08;一&#xff09;&#xff1a; 在el-talbs的面板中不放任何内容&#xff1a; <el-tab-pane label"…...

基于图扑 HT for Web 实现拓扑关系图

拓扑结构在计算机网络设计和通信领域中非常重要&#xff0c;因为它描述了网络中的设备&#xff08;即“点”&#xff09;如何相互连接&#xff08;即通过“线”&#xff09;。这种结构不仅涉及物理布局&#xff0c;即物理拓扑&#xff0c;还可以涉及逻辑或虚拟的连接方式&#…...

linux笔记10--编辑器之神VIM

文章目录 1. 简单介绍① 为什么叫vim② linux常见的编辑器③ 注意事项④ 其它 2. 操作模式的划分① 两种 -- 国际上普通模式(命令操作模式)插入模式 ② 三种 -- 国内普通模式如何进入与退出界面 插入模式如何进入与退出界面 命令模式如何进入与退出界面常见的命令模式 ③ 区别④…...

安全管理中心-集中管控(6点)

记忆内容&#xff1a; 应划分出特定的管理区域&#xff0c;对分布在网络中的安全设备或安全组件进行管控。&#xff08;三级新增&#xff09; 应能够建立一条安全的信息传输路径&#xff0c;对网络中的安全设备或安全组件进行管理。&#xff08;三级新增&#xff09; 应对网络…...

使用electron打包Vue前端项目的详细流程

使用electron打包Vue前端项目的详细流程 需要更改的东西 路由模式的修改 # 修改前&#xff1a;url不带#mode: history# 修改后&#xff1a;url带#mode: hash全局修改Cookies为localStorage 由于打包成exe或deb这类可执行文件后&#xff0c;本地是没有 Cookies 全局搜索Cooki…...

《计算机英语》 Unit 4 Information Management 信息管理

Section A Information Storage 信息存储 1. The importance of Information信息的重要性 词汇 reside vi属于&#xff0c;驻留 tablet n平板电脑 laptop n笔记本电脑 repository n仓库 claim n索赔 regulatory n法规 contractua…...

如何打包数据库文件

使用 mysqldump 命令&#xff1a; mysqldump -u username -p database_name > output_file.sql username 是数据库的用户名。database_name 是要导出的数据库名称。output_file.sql 是导出的 SQL 文件名&#xff0c;可以自定义。 示例&#xff1a; mysqldump -u root -p…...

iOS抓包指南 正则过滤爬取

解读iOS抓包 抓包 &#xff08;packet capture&#xff09;就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作&#xff0c;也用来检查网络安全。抓包也经常被用来进行数据截取等。 什么是正则表达式&#xff1f; 正则表达式(regular expression)是用来描述…...

FLASH仿真EEPROM---基于智芯Z20K11XM

一、介绍 电可擦和可编程只读存储器(EEPROM)可以对字节或字编程和擦除。EEPROM中的数据即使断电也能保持&#xff0c;但Z20K1xx芯片不含EEPROM。然而&#xff0c;闪存可以通过EEPROM仿真软件来模拟EEPROM。Z20K1xx包含两个flash阵列。编程和擦除操作可以在一个数组上进行&#…...

阿里云PAI大模型评测最佳实践

作者&#xff1a;施晨、之用、南茵、求伯、一耘、临在 背景信息 内容简介 在大模型时代&#xff0c;随着模型效果的显著提升&#xff0c;模型评测的重要性日益凸显。科学、高效的模型评测&#xff0c;不仅能帮助开发者有效地衡量和对比不同模型的性能&#xff0c;更能指导他…...

应用图扑 HT for Web 搭建拓扑关系图

拓扑结构在计算机网络设计和通信领域中非常重要&#xff0c;因为它描述了网络中的设备&#xff08;即“点”&#xff09;如何相互连接&#xff08;即通过“线”&#xff09;。这种结构不仅涉及物理布局&#xff0c;即物理拓扑&#xff0c;还可以涉及逻辑或虚拟的连接方式&#…...

Django Aggregation 使用指南

Django Aggregation 使用指南 在构建Django应用时&#xff0c;我们经常需要对数据库中的数据进行汇总或聚合操作。例如&#xff0c;计算某个字段的平均值、最大值或最小值。这篇文章将详细介绍如何在Django中使用聚合查询&#xff0c;并结合实例进行说明。 聚合查询简介 Dja…...

嵌入式学习——Linux操作系统——文件编程练习

1.使用fread和fwrite方式完成任意普通文件的拷贝功能。 模拟 文件下载 #include <stdio.h>void do_copy(FILE *fp_s,FILE *fp_d) {char buf[100] {0};int ret;while (ret fread(buf,sizeof(char),sizeof(buf),fp_s))fwrite(buf,sizeof(char),ret,fp_d); }//./a.out sr…...

用JavaScript实现了一个简单的图像坐标点标注工具

这段代码实现了一个简单的图像标注工具&#xff0c;允许用户在加载的图像上进行点选标注&#xff0c;并且通过右键确认一个点序列来形成一个多边形。 标注效果如下 实现代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"U…...

Pytorch深度解析:Transformer嵌入层源码逐行解读

前言 本部分博客需要先阅读博客&#xff1a; 《Transformer实现以及Pytorch源码解读&#xff08;一&#xff09;-数据输入篇》 作为知识储备。 Embedding使用方式 如下面的代码中所示&#xff0c;embedding一般是先实例化nn.Embedding(vocab_size, embedding_dim)。实例化的…...

HSP_10章 Python面向对象编程oop_基础部分

文章目录 P107 类与实例的关系1.类与实例的关系示意图2.类与实例的代码分析 P109 对象形式和传参机制1. 类与对象的区别和联系2. 属性/成员变量3. 类的定义和使用4. 对象的传递机制 P110 对象的布尔值P111 成员方法1. 基本介绍2. 成员方法的定义和基本使用3.注意事项和使用细节…...

JavaWeb系列十七: jQuery选择器 上

jQuery选择器 jQuery基本选择器jquery层次选择器基础过滤选择器内容过滤选择器可见度过滤选择器 选择器是jQuery的核心, 在jQuery中, 对事件处理, 遍历 DOM和Ajax 操作都依赖于选择器jQuery选择器的优点 $(“#id”) 等价于 document.getElementById(“id”);$(“tagName”) 等价…...

Gone框架介绍30 - 使用`goner/gin`提供Web服务

gone是可以高效开发Web服务的Golang依赖注入框架 github地址&#xff1a;https://github.com/gone-io/gone 文档地址&#xff1a;https://goner.fun/zh/ 使用goner/gin提供Web服务 文章目录 使用goner/gin提供Web服务注册相关的Goners编写Controller挂载路由路由处理函数io.Rea…...

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据&#xff0c;优化了分类算法&#xff0c;支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类&#xff1b;一键生成危险点报告和交跨报告&#xff1b;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:289…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...