shell: 普通用户如何以root权限执行远程服务器上的命令_20160706_七侠镇莫尛貝

网上有人说用expect,感觉太麻烦。直接用管道命令就可解决。

环境:

1. 普通user用户可以ssh登录到服务器

2. root用户不允许ssh

3. user用户可sudo su - 到root,知道root密码


vi run_cmd_on_remote.sh

#!/bin/bash

# 使用ssh命令执行远程服务器上的脚本

# ssh无密码登录远程机器方法:
# ssh-keygen
# ssh-copy-id -p $remote_port root@$remote_ip


remote_ip=192.168.1.188
remote_port=22

ssh -tt -p $remote_port user@$remote_ip /home/user/run.sh

注意:因为使用user用户连接的,所以run.sh脚本最好放在/home/user/下,否则无权限执行


vi run.sh
#!/bin/bash
# 以 root用户权限执行脚本方法:通过管道命令把root密码传过去

echo "rootpassword"|sudo -S /root/restart_tomcat.sh

==========================================================

附:

restart_tomcat.sh脚本启动 tomcat的命令:

./startup.sh

要改成:

nohup ./startup.sh &

sleep 5


否则tomcat无法启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值