ansible远程切换用户执行命令】的更多相关文章

ansible test -l 10.0.10.1 -e "ansible_become_user=www" -m shell -a "/data/publish/publish.sh /"…
功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下: #!/bin/bash su - DT<<EOF cd apache-tomcat-7.0.54/bin sh startup.sh EOF 当时以为su - DT就跟在交换界面执行一样会把环境也切换过去,所以在分界符EOF里用的是相对路径,结果一运行就报错: -bash: line 8: cd: apache-tomcat-7.0.54/bin: 没有那个文件或目录 然后就做了个…
转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.paramiko模块介绍 paramiko模块提供了基于ssh连接,进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. 回到顶部 2.paramiko的使用方法 (1)基于用户名和密码的sshclient方式登陆 #!/usr/bin/env python #codi…
在linux中建立网站时,我们一般分配一个www之类的用户给网站应用程序. 如果我们使用root或者具有管理员权限的账号在网站目录下去创建文件时,会遇到各种权限问题. 这时我们可以切换到www用户,这类用户一般是nologin,不允许登录. 如果我们su www或者sudo www,切换到www用户时,会出错. 网上解决办法时修改/etc/passwd文件 nologin改为bin/bash,这样www用户可以登录服务器, 比较危险.可以通过以下办法使用www用户执行命令 方法1. 为了安全,使…
paramiko 远程控制介绍 Python paramiko是一个相当好用的远程登录模块,采用ssh协议,可以实现linux服务器的ssh远程登录.首先来看一个简单的例子 import paramiko #实例化ssh客户端 ssh = paramiko.SSHClient() #创建默认的白名单 policy = paramiko.AutoAddPolicy() #设置白名单 ssh.set_missing_host_key_policy(policy) #链接服务器 ssh.connect…
尽量用普通用户执行,因为普通用户无法删除root的文件,避免误删除 rm -rf 不可取, 尽量find+rm -rf 尽量cd && rm -rf * 加上逻辑 cd /tmp/res # <---如果这个没有,则就会出问题.... rm -rf * # 所以,一般就用普通用户执行命令 cd /tmp/res && rm -rf #!/bin/bash if [ -d "/tmp/res" ];then cd /tmp/res/ &&am…
通常在执行自动化过程中可能需要将root用户切换到其他用户进行执行,如:oralce 但是,执行的命令又要回到root用户下,继续执行root用户下的其他命令. 此时需要了解 su 命令中的参数 -c  或 -s 比如: # su - oracle -c "pwd"/home/oracle 或 su - oracle -s /bin/sh test.sh 此时执行的test.sh中相关命令要在bin/sh下,换句话说,bin/sh支持的命令才能执行. 当然我们可以将结果重定向到其他的文…
Ansible直接执行远程命令,不用ssh登陆交互执行. 如下: ansible all -i 192.168.199.180, -m shell -a "ifconfig" -u supermap 参数解释: -i 连接到远程主机“192.168.199.180,”,注意这里的“,”直接指定主机名列表,没有“,”该参数则被解释为主机名的列表文件. -m 为ansible模块名称,执行shell命令. -a 远程shell命令,为ifconfig(获取网络配置参数). -u 指定执行的…
最近在logstash中使用nobody用户启动logstash,一想,nobody用户的shell不是/sbin/nologin吗? 不能登录执行命令呀? 于是看了一下它的启动脚本,是使用其他方式进行的... 玩了几年linux竟然还不知道chroot可以干这事,只知道chroot将根目录切换到某一位置,,汗颜.. 使用su -l nobody -c "命令"方式 然,nobody用户的shell是/sbin/nologin,执行命令失败 # su -l nobody -c &quo…
之前写过一个python远程执行命令的脚本,但在一个性能测试中,要将程序批量分发到不同服务器,程序无法使用,再将之前的脚本更新,加入批量上传的功能.之前脚本地址:http://www.cnblogs.com/landhu/p/4961##coding:utf-8 #------------------ #Author:Hu #Created:2016-02-29 #------------------ import paramiko,os,time,sys from optparse impor…