文章内容

2024/6/13 18:30:29,作 者: 黄兵

PermissionError: [Errno 13] Permission denied: ‘/var/project-name/static/images/xx.jpg’

最近将项目迁移到新的服务器上,却出现了如下错误:

PermissionError: [Errno 13] Permission denied: ‘/var/project-name/static/images/xx.jpg’

出现错误的原因:

应该是此目录的权限设置存在问题,我们通过如下命令查看此目录的权限:

ls -lh /var/project-name/static/

结果如下:

drwxr-xr-x 2 root root 4.0K Jun 13 09:23 images

可以看到此目录下面只能 root 账户读写,而我们在服务中设置如下:

[Unit]
Description=uWSGI instance to flask app.
After=network.target

[Service]
User=root
Group=www-data
Environment="PATH=/var/project-name/venv/bin/"
WorkingDirectory=/var/project-name
ExecStart=/var/project-name/venv/bin/uwsgi --ini project-name_uWSGI.ini

[Install]
WantedBy=multi-user.target

出现这个问题的原因是由于 /var/project-name/static/images/ 目录的权限设置不允许写入。根据你提供的信息,目录的权限是 drwxr-xr-x 2 root root 4.0K Jun 13 09:23 images,这意味着只有 root 用户有写权限,其他用户没有写权限。

解决方案:

我们通过如下命令,以允许 www-data 组有写权限:

sudo chmod 775 /var/project-name/static/images
sudo chown root:www-data /var/project-name/static/images

这样就可以解决此问题了。


黄兵个人博客原创。

转载请注明出处:黄兵跟人博客 - PermissionError: [Errno 13] Permission denied: ‘/var/project-name/static/images/xx.jpg’

分享到:

发表评论

评论列表