From a6ed4540d65b53caedaa0ba7d7614d7a84b77c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maurice=20Preu=C3=9F?= Date: Sat, 21 Mar 2026 13:24:42 +0000 Subject: [PATCH] =?UTF-8?q?s3/create-user.sh=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s3/create-user.sh | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 s3/create-user.sh diff --git a/s3/create-user.sh b/s3/create-user.sh new file mode 100644 index 0000000..7878d6e --- /dev/null +++ b/s3/create-user.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +USERNAME=$1 +PASSWORD=$2 +TARGET="objects" + +# Create new prolicy +cat > ./policy.json << EOF +{ + "Version": "2012-10-17", + "Statement": [ + { + "Action": [ + "s3:PutBucketPolicy", + "s3:GetBucketPolicy", + "s3:DeleteBucketPolicy", + "s3:ListAllMyBuckets", + "s3:ListBucket" + ], + "Effect": "Allow", + "Resource": [ + "arn:aws:s3:::$USERNAME" + ], + "Sid": "" + }, + { + "Action": [ + "s3:AbortMultipartUpload", + "s3:DeleteObject", + "s3:GetObject", + "s3:ListMultipartUploadParts", + "s3:PutObject" + ], + "Effect": "Allow", + "Resource": [ + "arn:aws:s3:::$USERNAME/*" + ], + "Sid": "" + } + ] +} +EOF + +# Add new user if not exist +if ! mc admin user info "$TARGET" "$USERNAME" > /dev/null 2>&1 ; then + mc admin user add "$TARGET" "$USERNAME" "$PASSWORD" + mc mb "$TARGET/$USERNAME" +fi + +# Set new policy to new user +mc admin policy add "$TARGET" "user-$USERNAME" policy.json +mc admin policy set "$TARGET" "user-$USERNAME" "user=$USERNAME" \ No newline at end of file