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…...
5分钟终极指南:永久免费使用Cursor Pro功能的完整解决方案
5分钟终极指南:永久免费使用Cursor Pro功能的完整解决方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your…...
通过Taotoken用量看板直观掌握团队API消耗情况
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken用量看板直观掌握团队API消耗情况 对于依赖大模型API进行开发的团队而言,清晰、准确地掌握资源消耗情况是…...
Translumo终极指南:3个简单技巧掌握实时屏幕翻译
Translumo终极指南:3个简单技巧掌握实时屏幕翻译 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 你是否曾在游…...
从零构建智能体工作流引擎:核心架构、实现与生产级实践
1. 项目概述:从零构建一个智能体工作流引擎最近在GitHub上看到一个名为agentkit的项目,来自BCG X的官方仓库。这个标题立刻引起了我的兴趣,因为它直指当前AI应用开发中的一个核心痛点:如何高效、可靠地编排和管理多个AI智能体&…...
如何轻松搞定浏览器视频下载:3步安装免费插件完全指南
如何轻松搞定浏览器视频下载:3步安装免费插件完全指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存网页视频而烦…...
ESP32-C3驱动2寸ST7789屏幕?手把手教你搞定LVGL移植(附避坑代码)
ESP32-C3与ST7789屏幕的LVGL移植实战指南 在物联网设备开发中,显示交互界面往往是提升用户体验的关键一环。ESP32-C3作为乐鑫推出的高性价比RISC-V芯片,搭配ST7789驱动的2寸LCD屏幕,能够构建出性能稳定、成本可控的嵌入式显示方案。本文将带你…...
Git多用户代理架构解析:实现细粒度权限管理与统一访问入口
1. 项目概述:从单兵作战到团队协作的代码管理跃迁如果你是一个独立开发者,或者在一个小团队里,你可能习惯了把代码往GitHub、Gitee这样的平台上一扔,设置个私有仓库,然后通过个人账号的SSH密钥来管理访问权限。这种方式…...
10个UTF8-CPP最佳实践:让你的C++ Unicode处理更高效
10个UTF8-CPP最佳实践:让你的C Unicode处理更高效 【免费下载链接】utfcpp UTF-8 with C in a Portable Way 项目地址: https://gitcode.com/gh_mirrors/ut/utfcpp UTF8-CPP是一个轻量级的C库,提供了便捷的UTF-8编码和解码功能,帮助开…...
5个简单步骤彻底解决MoviePilot连接TheMovieDb异常问题
5个简单步骤彻底解决MoviePilot连接TheMovieDb异常问题 【免费下载链接】MoviePilot NAS媒体库自动化管理工具 项目地址: https://gitcode.com/gh_mirrors/mo/MoviePilot MoviePilot作为一款优秀的NAS媒体库自动化管理工具,为你提供了便捷的影视资源管理体验…...
主动学习在可修复硬件系统可靠性分析中的应用
1. 可修复硬件系统可靠性分析的挑战与机遇 在航空航天、医疗设备和军事装备等关键领域,硬件系统的可靠性直接关系到人员安全和任务成败。传统可靠性分析方法面临三大核心挑战: 数据收集成本高 :全系统测试需要拆卸设备,每次维护…...
