【问题标题】:Commands don't echo after sudo as another user命令在 sudo 后不作为另一个用户回显
【发布时间】:2017-03-22 13:22:59
【问题描述】:

我有一个命令可以通过 ssh 连接到远程 linux 主机并执行 shell 脚本。 ssh -t -t $USER@somehost 'bash -s' < ./deploy.sh

在deploy.sh里面我有这个:

#!/bin/bash

whoami;                 # I see this command echo
sudo -i -u someoneelse  #I see this command echo
whoami;                 # I DON'T see this command echo, but response is correct

#subsequent commands don't echo

当我在本地运行 deploy.sh 脚本时,所有命令都会回显。

当我以另一个用户的身份通过 ssh 执行 sudo 后,如何让命令回显?

【问题讨论】:

  • 我一开始就没有在脚本中使用 sudo。它非常不安全,如果脚本需要这些权限,您应该将脚本称为 sudo。

标签: linux bash ssh terminal


【解决方案1】:

在 sudo 之后必须 set -x 作为另一个用户

#!/bin/bash

whoami;
sudo -i -u someonelese
set -x              #make sure echo on
whoami;             #command echoed

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    相关资源
    最近更新 更多