`gcloud compute copy-files`:复制文件时拒绝权限

`gcloud compute copy-files`:复制文件时拒绝权限,第1张

概述`gcloud compute copy-files`:复制文件时拒绝权限

我很难将文件复制到我的Google计算引擎。 我正在Google Compute Engine上使用ubuntu服务器。

我是从我的OS Xterminal做到这一点,我已经使用gcloud授权。

local:$ gcloud compute copy-files /Users/Bryan/documents/Websites/gce/index.PHP example-instance:/var/www/HTML --zone us-central1-a Warning: Permanently added '<IP>' (RSA) to the List of kNown hosts. scp: /var/www/HTML/index.PHP: Permission denIEd ERROR: (gcloud.compute.copy-files) [/usr/bin/scp] exited with return code [1].

创build一个进程作为另一个用户运行

Symfony2caching重新创build – 写入权限失败

C#从“高级安全设置”获取“应用于”信息的目录

从本地networking访问wamp时出现禁止错误

在windows XP上:如何创build一个只有一个特定目录的读取权限的用户?

我怎样才能看到caspol认为一个代码段属于哪个区域?

内核模块执行中的不同权限

PHP exec()命令权限被拒绝

通过Gitolite和post-receive hook部署节点应用程序

我应该写一个临时文件临时目录吗? 或者写一个临时文件到最终目录?

在实例名称前插入root@

local:$ gcloud compute copy-files /Users/Bryan/documents/Websites/gce/index.PHP root@example-instance:/var/www/HTML --zone us-central1-a

这不起作用的原因是您的用户名不具有GCE VM实例的权限,因此无法写入/var/www/HTML/ 。

请注意 ,由于这个问题是关于Google Compute Engine虚拟机的,因此您不能以root身份直接将SSH直接连接到虚拟机,也不能以gcloud compute copy-files root身份直接复制文件,原因相同: gcloud compute copy-files使用依靠ssh进行身份验证的scp 。

可能的解决方案:

(也由Faizan在评论中提出),这个解决方案每次都需要两步

使用gcloud compute copy-files来传输用户可以写入的文件/目录,例如/tmp或/home/$USER

通过gcloud compute ssh或通过控制台上的SSH按钮登录到GCE VM,并使用sudo进行复制以获得适当的权限:

# note: sample command; adjust paths appropriately

sudo cp -r $HOME/HTML/* /var/www/HTML

这个解决方案是一些事先准备工作的一个步骤:

一次性设置:直接给你的用户名写入权限/var/www/HTML ; 这可以通过几种方式来完成; 这里有一个方法:

# make the HTML directory owned by current user,recursively

sudo chown -R $USER /var/www/HTML

现在你可以运行复制一步:

gcloud compute copy-files /Users/Bryan/documents/Websites/gce/index.PHP example-instance:/var/www/HTML --zone us-central1-a

我使用bash脚本从本地机器复制到远程GCE机器上的可写目录; 然后使用ssh移动文件。

SRC="/cygdrive/d/mysourcedir" TEMP="~/incoming" DEST="/var/my-disk1/my/target/dir"

您还需要设置GCE_USER和GCE_INSTANCE

echo "=== Pushing data from $SRC to $DEST in two simple steps" echo "=== 1) copy to a writable temp directoy in user home" gcloud compute copy-files "$SRC"/*.* "${GCE_USER}@${GCE_INSTANCE}:$TEMP" echo "=== 2) Move with 'sudo' to destination" gcloud compute ssh ${GCE_USER}@${GCE_INSTANCE} --command "sudo mv $TEMP/*.* $DEST"

在我的情况下,我不想chown目标目录,因为这会导致与其他脚本的其他问题…

UPDATE

gcloud compute copy-files已弃用 。

改用:

$ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR --zone us-central1-a

更多信息: https : //cloud.Google.com/sdk/gcloud/reference/compute/scp

总结

以上是内存溢出为你收集整理的`gcloud compute copy-files`:复制文件时拒绝权限全部内容,希望文章能够帮你解决`gcloud compute copy-files`:复制文件时拒绝权限所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1221472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存