Mount Amazon s3 Bucket

Leonardo Saran Messias
2 min readJul 15, 2019

1) Remove Existing Packages

Before installing any package, first you need to check if you have any existing fuse or S3FS on your server. If it is already existing, then remove it from your server to avoid further conflicts. Use the following command to check if you have any existing fuse or S3FS on your server

CentOS users:

$ yum remove fuse fuse-s3fs

Ubuntu Users:

$ apt-get remove fuse

2) Install Packages

Install all dependency packages for fuse and s3cmd using the below command.

CentOS users:

$ yum install gcc libstdc++-devel gcc-c++ curl-devel libxml2-devel openssl-devel mailcap

Ubuntu Users:

$ apt-get install build-essential libcurl4-openssl-dev libxml2-dev mime-support

3) Download and Compile Fuse

Move to /usr/src then download and compile fuse source code. After compiling, add fuse to kernel. In my case the latest version of fuse is fuse-3.0.0

$ cd /usr/src/

$ wget https://github.com/libfuse/libfuse/releases/download/fuse-3.0.0/fuse-3.0.0.tar.gz

$ tar xzf fuse-3.0.0.tar.gz

$ cd fuse-3.0.0

$ ./configure –prefix=/usr/local

$ make && make install

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

$ ldconfig

$ modprobe fuse

4) Download and compile S3FS

Navigate to /usr/src, Download and compile s3fs source code.

$ git clone https://github.com/s3fs-fuse/s3fs-fuse.git

$ cd s3fs-fuse

$ yum install fuse-devel libxml2-devel libcurl-devel

$ ./autogen.sh

$ ./configure

$ make

$ make install

5) Setup Access Key

Both access key and secret key of your s3 AWS account is required for configuring S3FS. Replace the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY with your actual key values.

$ vi /etc/passwd-s3fs

AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY

Make sure that the file has proper permission.

$ chmod 600 /etc/passwd-s3fs

6) Mount S3 Bucket

You can run the below command to mount s3fs.

$ s3fs mybucket /path/to/mountpoint -o passwd_file=/etc/passwd-s3fs

You can also mount the s3 bucket on boot by following below commands.

$ mkdir /tmp/cache

$ mkdir /path/to/mountpoint

$ chmod 777 /tmp/cache /path/to/mountpoint

$ vi /etc/fstab

s3fs#<mybucket> /path/to/mountpoint fuse allow_other,use_cache=/tmp/cache,uid=userid,gid=groupid 0 0

$ mount -a

Congratulations you have successfully mounted s3 bucket on your server.

If you need any further assistance please contact our support department.

--

--

Leonardo Saran Messias

Professional with skills in Amazon Aws, Oracle, Python, Linux, Windows Server, Devops, Docker, Javascript, Nodejs, React, IT Security, Pentester.