ansible 普通用户执行命令

首先需要了解ssh 普通用户登陆的做法:

1.普通用户ssh 免密登陆

举个例子:

[[email protected] ~]$ssh [email protected]

表示当前用户A(可以是root或者任何其他用户)以用户user登陆10.0.0.1,

如果省略用户, 即:ssh 10.0.0.1,表示以当前用户A登陆

这里记住两个用户:

A:  当前用户,执行ssh 的用户

user:登陆10.0.0.1的用户, 这个用户是属于10.0.0.1的,必须在10.0.0.1上存在

不考虑public key的的权限问题,若要实现免密登陆成功,就要在10.0.0.1上user用户家目录下的.ssh/id_rsa.pub(公钥保存文件根据sshd实际配置而异)下添加source这台机器上用户A的public key;

2.

ansible用于远程连接的paramiko模块是基于ssh的,因此,同样的道理,执行ansible命令:

[[email protected] source~]# ansible 10.0.0.1  -m raw -a"date"

表示ansible将会以root用户登陆客户机执行date命令,但是,处于安全考虑,客户端往往不允许root登陆;还好ansible是支持非root用户登陆的,加 -u 参数就可以了

[[email protected] source~]# ansible 10.0.0.1 -m raw -a "date" -u www

表示以www用户登陆客户端执行命令,不过,根据之前所述,必须保证www用户有root用户的公钥;

或者也可以采用另一钟方法,在ansible的主机配置文件中添加

vi/etc/ansible/hosts
10.0.0.161 ansible_ssh_user=www

这样,执行命令就不需要带 -u 参数了

时间: 2024-08-10 00:07:48

ansible 普通用户执行命令的相关文章

如何在shell下切换用户执行命令?

su - dev -c "ls" "su -"切换用户,并且当前目录页切换到相应用户的根目录. "dev"是用户名 "-c"后面接需要执行的shell command 如何在shell下切换用户执行命令?

Linux上用户执行命令记录

HFILE=`who -m | awk '{print $1}'`readonly HISTFILE=/var/history/$HFILE-$USER-$UID.logreadonly HISTFILESIZE=50000readonly HISTSIZE=10000readonly HISTTIMEFORMAT='%F %T 'readonly HISTCONTROL=ignoredupsshopt -s histappendreadonly PROMPT_COMMAND="history

通过ansible批量管理Linux服务器:配置Inventory和批量执行命令

ansible是一款比较新的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括:(1).连接插件connection plugins:负责和被监控端实现通信:(2).host inventory:指定操作的主机,是一个配

8.25用户管理命令的使用小结

用户和组管理的相关命令:     useradd.usermod.passwd.userdel     groupadd.groupmod.gpasswd.groupdel     chage, chsh, chfn     id, w, who, whoami     su useradd:创建用户 useradd [options] LOGIN             useradd -D [options]                 -r: 创建系统用户               

使用ansible远程执行命令

使用ansible远程执行命令 1.ansible简介 ansible的官方定义:"Ansible is Simple IT Automation"--简单的自动化IT工具.这个工具的目标: 自动化部署APP 自动化管理配置项 自动化的持续交付 自动化的(AWS)云服务管理. 其本质上就是在远程在多台服务器执行一系列命令和文件同步,和以前的介绍的使用并行ssh提高工作效率功能类似,他们都是使用ssh协议进行远程操作,但ansible比pssh功能更强大,比如支持主机列表分组.支持pla

ansible批量执行命令

批量管理linux服务器指的是:批量执行命令.下发文件等等 安装ansible 1.1: 安装epel源 yum install epel-release -y #编辑/etc/yum.repos.d/epel.repo,注释mirrorlist,打开baseurl 1.2: 安装ansible yum list ansible #ansible版本,如果这个命令运行有问题的话,多运行几次 yum install ansible -y 1.3: ansible查看帮助 ansible-doc -

ansible的两种命令执行方式 : ad-hoc / playbook以及通过setup模块获取系统参数

一.什么是ad-hoc和playbook  ad-hoc : 如果我们敲入一些命令去快速的完成一些操作,而不需要将这些执行过的命令刻意保存下来,这样的命令就叫做as-hoc命令,这里不做过多赘述. playbook : 简单的说,playbook是一种简单的配置管理系统与多机器部署系统的基础.与现有的其它系统有不同之处,且非常适用于复杂的应用部署.playbook可适用于声明配置,更强大的地方在于playbook中可以编排有序的执行过程,甚至于做到在多组机器间来回有序的执行特别指定的步骤,并且可

## ansible 批量在远程主机上执行命令 ##

目的 代码发布系统 前戏 ansible 批量在远程主机上执行命令 openpyxl 操作excel表格 puppet ansible slatstack ansible epel源 第一步: 下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 第二步: 安装ansible yum install -y ansible salt 控制节点需要安装salt-master salt

普通用户执行需要root权限的命令的方法

我们经常会需要让普通用户干需要root权限的活,如普通用户用date命令修改系统日期等.date命令需要root权限才能执行,解决这个问题又2个方法: 方法一: 由root用户执行chmod 4755 /bin/date 备注:也就是给date命令增加s权限位即设置setuid(4000),这样普通用户就可以执行date命令了,缺点也是很明显的,相当于去掉了date命令的root权限限制. 方法二: 给shell脚本加壳: #include "stdio.h"#include &quo