S3fs 无法访问存储桶权限被拒绝

S3fs 无法访问存储桶权限被拒绝

我已经安装了 s3fs 并使用 aws S3 创建了一个存储桶。我可以写入它。但是当我将文件上传到存储桶并尝试读取它时,我收到以下错误。

您没有打开该文件所需的权限。

我试过了chmod 777,但没有权限,我试过了 sudo,但仍然没有权限。

我通过输入以下行来安装我的驱动器:

s3fs babylon ~/MyMount -o passwd_file=~/.passwd-s3fs

我如何获得访问文件的权限?使用 ls -l 查看它们,我看到以下内容:

~/MyMount$ ls -l
total 5
---------- 1 root root 2272 Mar 25 21:47 lab8.cpp
-rw-rw-r-- 1 kaz  kaz    16 Mar 24 22:44 nextday.txt
---------- 1 root root  586 Mar 20 13:27 sample.c
-rw-rw-r-- 1 kaz  kaz     6 Mar 26 01:29 temp.txt

答案1

因为我找到了解决这个问题的方法,所以我感到有义务与大家分享,因为我寻求的是帮助。

对我有用的是立即通过 mount 命令修复我的权限,如下所示:

s3fs babylon ~/MyMount -o passwd_file=~/.passwd-s3fs -o umask=0000

Umask 的工作原理类似于减法器,因此如果所有值为 0,它将把值设置为 777。当我通过自己编写的脚本打开存储桶时,我看到以下内容:

-rwxrwxrwx 1 kaz  kaz       0 Mar 26 03:11 drfg.txt
-rwxrwxrwx 1 kaz  root   2272 Mar 26 19:48 lab8.cpp
-rwxrwxrwx 1 kaz  kaz      16 Mar 24 22:44 nextday.txt
-rwxrwxrwx 1 kaz  root 814493 Mar 26 19:48 Refactoring - A good example.pdf
-rwxrwxrwx 1 root root 522010 Mar 26 20:06 revy_3.jpg
-rwxrwxrwx 1 kaz  root    586 Mar 26 19:49 sample.c
-rwxrwxrwx 1 kaz  kaz       6 Mar 26 01:29 temp.txt

我希望这可以帮助那些为 s3fs 而苦苦挣扎的人。

答案2

正如您所看到的:

---------- 1 root root 2272 Mar 25 21:47 lab8.cpp
-rw-rw-r-- 1 kaz kaz 16 Mar 24 22:44 nextday.txt
---------- 1 root root 586 Mar 20 13:27 sample.c
-rw-rw-r-- 1 kaz kaz 6 Mar 26 01:29 temp.txt

这些文件的所有者是root,因此您必须更改这些文件的所有权。

要更改目录及其中任何文件的所有权,请递归执行:

chown $USER -R /path/to/directory

就你的情况来说应该是sudo chown $USER -R ~/MyMount

答案3

我在打开文件时遇到错误。我通过清除 /tmp/cache 文件夹解决了这个问题。

相关内容