如何以root用户运行

时间:2019-02-20 01:06:54

标签: bash

我的Shell脚本的一部分在 rsadmin用户下运行。这部分创建一个文件,我想通过root用户将其传输到另一台服务器,因为root用户可以执行任何操作(两台服务器均已实现SSH密钥设置)。

我尝试了论坛上提供的各种选项,但到目前为止没有任何效果,不确定是否可以实现,但是看了很多对其他帖子的回复,似乎是这样。

我正在服务器1上的shell脚本(在rsadmin用户下运行)中执行以下操作。

exec sudo u - root /bin/ bash << EOF
scp <file name with path on server_1> root@server_2:<some_path>
EOF

我还在服务器1(在rsadmin用户下运行)的shell脚本中尝试过以下操作

sudo su - root "scp <file name with path on server_1> root@server_2:<some_path>"

什么都没有。尽管当我以root用户身份直接从server_1的命令提示符(外壳脚本之外)运行此命令时,它仍然有效。

1 个答案:

答案 0 :(得分:0)

这应该有效:

sudo /bin/bash -s << EOF
scp file1 root@server_2:file2;
EOF