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用于指定在远程主机上提升权限的方法。常见的方法包括:
-
sudo: 通过
sudo命令提升权限,通常是从普通用户提升到超级用户(root)。- 示例:
become_method: sudo - 特点:需要在目标主机上配置sudoers文件,指定哪些用户有权限使用sudo。
- 示例:
-
su: 通过
su命令切换到其他用户,通常是从普通用户切换到超级用户。- 示例:
become_method: su - 特点:需要提供目标用户的密码,适用于不支持sudo的系统。
- 示例:
-
pbrun: 使用Privilege Manager的
pbrun命令提升权限。- 示例:
become_method: pbrun - 特点:适用于使用Privilege Manager的企业环境。
- 示例:
-
pfexec: 使用Solaris上的
pfexec命令提升权限。- 示例:
become_method: pfexec - 特点:适用于Solaris系统。
- 示例:
-
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_method 和 become_flags。在配置文件中添加以下内容:
[defaults]
become=True
become_method=su
become_flags=-r
2. 命令行参数
在执行 Ansible 命令时,可以使用命令行参数来设置 become_method 和 become_flags。例如:
ansible-playbook -i inventory playbook.yml --become --become-method=su --become-flags="-r"
3. Playbook 配置
在 Playbook 中,你可以在全局或任务级别设置 become_method 和 become_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_method 和 become_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弹出框中,如果使用el-tabs,点击弹框的关闭按钮时,会导致弹出框无法关闭,且浏览器卡死。 解决方式(一): 在el-talbs的面板中不放任何内容: <el-tab-pane label"…...
基于图扑 HT for Web 实现拓扑关系图
拓扑结构在计算机网络设计和通信领域中非常重要,因为它描述了网络中的设备(即“点”)如何相互连接(即通过“线”)。这种结构不仅涉及物理布局,即物理拓扑,还可以涉及逻辑或虚拟的连接方式&#…...
linux笔记10--编辑器之神VIM
文章目录 1. 简单介绍① 为什么叫vim② linux常见的编辑器③ 注意事项④ 其它 2. 操作模式的划分① 两种 -- 国际上普通模式(命令操作模式)插入模式 ② 三种 -- 国内普通模式如何进入与退出界面 插入模式如何进入与退出界面 命令模式如何进入与退出界面常见的命令模式 ③ 区别④…...
安全管理中心-集中管控(6点)
记忆内容: 应划分出特定的管理区域,对分布在网络中的安全设备或安全组件进行管控。(三级新增) 应能够建立一条安全的信息传输路径,对网络中的安全设备或安全组件进行管理。(三级新增) 应对网络…...
使用electron打包Vue前端项目的详细流程
使用electron打包Vue前端项目的详细流程 需要更改的东西 路由模式的修改 # 修改前:url不带#mode: history# 修改后:url带#mode: hash全局修改Cookies为localStorage 由于打包成exe或deb这类可执行文件后,本地是没有 Cookies 全局搜索Cooki…...
《计算机英语》 Unit 4 Information Management 信息管理
Section A Information Storage 信息存储 1. The importance of Information信息的重要性 词汇 reside vi属于,驻留 tablet n平板电脑 laptop n笔记本电脑 repository n仓库 claim n索赔 regulatory n法规 contractua…...
如何打包数据库文件
使用 mysqldump 命令: mysqldump -u username -p database_name > output_file.sql username 是数据库的用户名。database_name 是要导出的数据库名称。output_file.sql 是导出的 SQL 文件名,可以自定义。 示例: mysqldump -u root -p…...
iOS抓包指南 正则过滤爬取
解读iOS抓包 抓包 (packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。 什么是正则表达式? 正则表达式(regular expression)是用来描述…...
FLASH仿真EEPROM---基于智芯Z20K11XM
一、介绍 电可擦和可编程只读存储器(EEPROM)可以对字节或字编程和擦除。EEPROM中的数据即使断电也能保持,但Z20K1xx芯片不含EEPROM。然而,闪存可以通过EEPROM仿真软件来模拟EEPROM。Z20K1xx包含两个flash阵列。编程和擦除操作可以在一个数组上进行&#…...
阿里云PAI大模型评测最佳实践
作者:施晨、之用、南茵、求伯、一耘、临在 背景信息 内容简介 在大模型时代,随着模型效果的显著提升,模型评测的重要性日益凸显。科学、高效的模型评测,不仅能帮助开发者有效地衡量和对比不同模型的性能,更能指导他…...
应用图扑 HT for Web 搭建拓扑关系图
拓扑结构在计算机网络设计和通信领域中非常重要,因为它描述了网络中的设备(即“点”)如何相互连接(即通过“线”)。这种结构不仅涉及物理布局,即物理拓扑,还可以涉及逻辑或虚拟的连接方式&#…...
Django Aggregation 使用指南
Django Aggregation 使用指南 在构建Django应用时,我们经常需要对数据库中的数据进行汇总或聚合操作。例如,计算某个字段的平均值、最大值或最小值。这篇文章将详细介绍如何在Django中使用聚合查询,并结合实例进行说明。 聚合查询简介 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实现了一个简单的图像坐标点标注工具
这段代码实现了一个简单的图像标注工具,允许用户在加载的图像上进行点选标注,并且通过右键确认一个点序列来形成一个多边形。 标注效果如下 实现代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"U…...
Pytorch深度解析:Transformer嵌入层源码逐行解读
前言 本部分博客需要先阅读博客: 《Transformer实现以及Pytorch源码解读(一)-数据输入篇》 作为知识储备。 Embedding使用方式 如下面的代码中所示,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地址:https://github.com/gone-io/gone 文档地址:https://goner.fun/zh/ 使用goner/gin提供Web服务 文章目录 使用goner/gin提供Web服务注册相关的Goners编写Controller挂载路由路由处理函数io.Rea…...
Lipowerline5.0 雷达电力应用软件下载使用
1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:289…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
