繁体   English   中英

bash脚本为sudo但用户变量

[英]bash script as sudo but user variables

我有一个需要用sudo调用的脚本,但是有一部分我必须克隆一个GIT repo git clone foo:repo path/to/files ,而这样做需要我的普通用户ssh密钥,这些都在我的普通用户$HOME/.ssh/config文件中定义。

.ssh/config:
host foo
    HostName foo.com
    User myuser
    IdentityFile ~/.ssh/id_rsa

有什么办法可以在调用此脚本时保留ssh配置数据,以便克隆存储库? 我尝试将-E标志传递给sudo,但似乎没有任何效果。

从评论到原始帖子,所有功劳归于@ that-other-guy。

代替:

if [[ 'svn' == $repoType ]]; then
    svn co ...
elif [[ 'git' == $repoType ]]; then
    git clone ...
fi

由于我在使用sudo-ing,这会使我的克隆无法访问我的用户.ssh / config数据作为密钥

切换到:

if [[ 'svn' == $repoType ]]; then
    (sudo -u $SUDO_USER svn co ...)
elif [[ 'git' == $repoType ]]; then
    (sudo -u $SUDO_USER git clone ...)
fi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM