linux普通用户使用root权限执行命令的脚本

上一篇有说到普通用户使用免密登录并使用root权限:

http://www.cnblogs.com/01-single/p/8919254.html

现在使用脚本批量实现部署系统任务操作步骤:

#!/bin/bash
ips=(
X.X.X.X
A.A.A.A
)
for ip in ${ips[@]}
do
    ssh  -p oper@$ip sudo su << EOF 
    echo $ip hostname is: \`hostname\` ;cat /etc/ssh/sshd_config | grep Port | grep -v 'Gateway'  #注意这里的``需要用反斜杠转义掉
    firewall-cmd --reload
    exit
EOF
done

如果报错:

Pseudo-terminal will not be allocated because stdin is not a terminal.

sudo: sorry, you must have a tty to run sudo

则把:ssh -p oper@$ip sudo su << EOF 

修改为:ssh -tt -p oper@$ip sudo su << EOF 

如果想要把输出信息输入到文件中,以便脚本添加分析日志功能:

则此句修改为:ssh -p oper@$ip sudo su << EOF >> ssh.txt

 

posted on 2018-04-25 11:09  Alan丶文  阅读(12279)  评论(0编辑  收藏  举报