[英]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.