我在使用 S3FS 时遇到问题。我在用着
ubuntu@ip-x-x-x-x:~$ /usr/bin/s3fs --version
Amazon Simple Storage Service File System 1.71
我已经在许可中安装/usr/share/myapp/s3fs-password
了密码文件。600
我已成功安装 S3 存储桶。
sudo /usr/bin/s3fs -o allow_other -opasswd_file=/usr/share/myapp/s3fs-password -ouse_cache=/tmp mybucket.example.com /bucket
我已经user_allow_other
启用了/etc/fuse.conf
当我尝试在存储桶中创建一个文件时root
。
ubuntu@ip-x-x-x-x:~$ sudo su
root@ip-x-x-x-x:/home/ubuntu# cd /bucket
root@ip-x-x-x-x:/bucket# echo 'Hello World!' > test-`date +%s`.txt
root@ip-x-x-x-x:/bucket# ls
test-1373359118.txt
我检查了 bucketmybucket.example.com
的内容,文件已成功创建。
/bucket
但是我在以不同的用户身份写入目录时遇到了困难。
root@ip-x-x-x-x:/bucket# exit
ubuntu@ip-x-x-x-x:~$ cd /bucket
ubuntu@ip-x-x-x-x:/bucket$ echo 'Hello World!' > test-`date +%s`.txt
-bash: test-1373359543.txt: Permission denied
我拼命尝试777
对test-1373359118.txt
. 我可以写入文件
ubuntu@ip-x-x-x-x:/bucket$ sudo chmod 777 test-1373359118.txt
ubuntu@ip-x-x-x-x:/bucket$ echo 'Test' > test-1373359118.txt
ubuntu@ip-x-x-x-x:/bucket$ cat test-1373359118.txt
Test
有趣的是,我可以在存储桶中创建一个目录,将 chmod 设置为777
,然后在其中写入一个文件。
ubuntu@ip-x-x-x-x:/bucket$ sudo mkdir -m 1777 test
ubuntu@ip-x-x-x-x:/bucket$ ls
test test-1373359118.txt
ubuntu@ip-x-x-x-x:/bucket$ cd test
ubuntu@ip-x-x-x-x:/bucket/test$ echo 'Hello World!' > test-`date +%s`.txt
ubuntu@ip-x-x-x-x:/bucket/test$ ls
test-1373360059.txt
ubuntu@ip-x-x-x-x:/bucket/test$ cat test-1373360059.txt
Hello World
但后来我尝试了
ubuntu@ip-x-x-x-x:~$ sudo chmod 777 /mybucket
chmod: changing permissions of '/mybucket': Input/output error
它没有用。
最初,我想使用这个/bucket
目录来存储来自我的 LAMP 堆栈的大型且很少访问的文件,这些文件位于几台 EC2 机器上。(我认为在不使用 AWS PHP SDK 制作特殊处理库的情况下使用它就足够了,但这不是重点。)
由于这个原因,我可以使用里面的目录/mybucket
来存储文件。但我只是好奇是否有办法让/mybucket
其他用户全部使用?