You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gcloud VM实例出现Errno 13权限拒绝问题,求解决方案

解决GCP实例中Python保存图片的PermissionError问题

问题描述

运行以下Python图片处理代码时触发权限拒绝错误:

from PIL import Image
from PIL import ImageOps
filename = 'marmoreio_red_2.jpg'
img = Image.open(filename)

val = 10    # 裁剪像素数

# 给原图添加10像素蓝色边框
new_img = ImageOps.expand(img, border=val, fill=(0, 0, 255))

# 裁剪处理后的图片(避免出现黑边)
cropped = new_img.crop((val, val, 150, 150))

cropped.save('img_teste.jpg','JPEG')

错误信息:

fp = builtins.open(filename, "w+b")
PermissionError: [Errno 13] Permission denied: 'img_teste.jpg'

曾尝试修改Apache配置的解决方案,但实例中不存在/etc/apache2/sites-available/wordpress.conf文件。实例相关信息:
实例信息截图1
实例信息截图2

可行解决方案

1. 切换到有权限的目录运行代码

  • 先执行以下命令确认当前工作目录及其权限:
    pwd
    ls -ld $(pwd)
    
  • 如果当前目录对运行代码的用户没有写入权限,切换到用户主目录(cd ~)后再运行代码。

2. 用绝对路径指定保存位置

修改代码中的save语句,指定一个你有写入权限的绝对路径,比如用户主目录:

# 替换原保存代码,your-username替换为实际用户名(用whoami命令查看)
cropped.save('/home/your-username/img_teste.jpg','JPEG')

3. 调整当前目录的写入权限

如果需要在当前目录保存文件,可执行以下命令添加权限(测试环境可用,生产环境需谨慎):

# 给当前目录所有用户添加写入权限
chmod o+w $(pwd)
# 或者给运行代码的用户单独添加权限
chown $(whoami):$(whoami) $(pwd)
chmod u+w $(pwd)

4. 确认运行代码的用户身份

如果是通过服务账号、后台进程等运行代码,要确保该用户对目标保存目录有写入权限。用whoami命令查看当前运行代码的用户,再核对目录的权限设置。

内容的提问来源于stack exchange,提问作者Greg Rov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 06:40:11