Minio ھڪڙو سادو، تيز، AWS S3 مطابقت رکندڙ اعتراض اسٽور آھي. مينيو غير منظم ڊيٽا کي ميزباني ڪرڻ لاءِ ٺهيل آهي جهڙوڪ فوٽوز، وڊيوز، لاگ فائلون، بيڪ اپ. مينيو پڻ ورهايل موڊ کي سپورٽ ڪري ٿو، جيڪو ڪيترن ئي ڊسڪ کي ھڪڙي اعتراض اسٽوريج سرور سان ڳنڍڻ جي صلاحيت ڏئي ٿو، جن ۾ مختلف مشينن تي واقع آھن.
هن پوسٽ جو مقصد مينيو کي ترتيب ڏيڻ آهي ته جيئن هر صارف صرف پنهنجي بالٽ سان ڪم ڪري سگهي.
عام طور تي، Minio هيٺين صورتن لاء مناسب آهي:
- غير نقل واري اسٽوريج هڪ قابل اعتماد فائل سسٽم جي چوٽي تي S3 ذريعي رسائي سان (ننڍو ۽ وچولي اسٽوريج NAS ۽ SAN تي ميزباني ڪيل)؛
- S3 رسائي سان گڏ ناقابل اعتبار فائل سسٽم جي مٿان غير نقل ٿيل اسٽوريج (ترقي ۽ جاچ لاءِ)؛
- S3 پروٽوڪول جي ذريعي رسائي سان گڏ سرورز جي هڪ ننڍڙي گروپ تي نقل سان گڏ اسٽوريج (رفيق جي برابر هڪ ناڪامي ڊومين سان گڏ ناڪامي اسٽوريج).
RedHat سسٽم تي اسان غير رسمي Minio مخزن کي ڳنڍيندا آهيون.
yum -y install yum-plugin-copr
yum copr enable -y lkiesow/minio
yum install -y minio minio-mc
ٺاھيو ۽ شامل ڪريو MINIO_ACCESS_KEY ۽ MINIO_SECRET_KEY ۾ /etc/minio/minio.conf.
# Custom username or access key of minimum 3 characters in length.
MINIO_ACCESS_KEY=
# Custom password or secret key of minimum 8 characters in length.
MINIO_SECRET_KEY=
جيڪڏهن توهان Minio کان اڳ nginx استعمال نه ڪندا، پوء توهان کي تبديل ڪرڻ جي ضرورت آهي.
--address 127.0.0.1:9000
تي
--address 0.0.0.0:9000
اچو ته Minio لانچ ڪريون.
systemctl start minio
اسان مينيو سان هڪ ڪنيڪشن ٺاهيو جنهن کي myminio سڏيو ويندو آهي.
minio-mc config host add myminio http://localhost:9000 MINIO_ACCESS_KEY
MINIO_SECRET_KEY
هڪ بالٽ user1bucket ٺاهيو.
minio-mc mb myminio/user1bucket
هڪ بالٽ user2bucket ٺاهيو.
minio-mc mb myminio/user2bucket
هڪ پاليسي فائل ٺاهيو user1-policy.json.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutBucketPolicy",
"s3:GetBucketPolicy",
"s3:DeleteBucketPolicy",
"s3:ListAllMyBuckets",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::user1bucket"
],
"Sid": ""
},
{
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::user1bucket/*"
],
"Sid": ""
}
]
}
هڪ پاليسي فائل ٺاهيو user2-policy.json.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutBucketPolicy",
"s3:GetBucketPolicy",
"s3:DeleteBucketPolicy",
"s3:ListAllMyBuckets",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::user2bucket"
],
"Sid": ""
},
{
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::user2bucket/*"
],
"Sid": ""
}
]
}
پاسورڊ test1 سان استعمال ڪندڙ صارف 12345 ٺاهيو.
minio-mc admin user add myminio user1 test12345
پاسورڊ test2 سان استعمال ڪندڙ صارف 54321 ٺاهيو.
minio-mc admin user add myminio user2 test54321
اسان Minio ۾ user1-policy نالي فائل user1-policy.json مان هڪ پاليسي ٺاهيندا آهيون.
minio-mc admin policy add myminio user1-policy user1-policy.json
اسان Minio ۾ user2-policy نالي فائل user2-policy.json مان هڪ پاليسي ٺاهيندا آهيون.
minio-mc admin policy add myminio user2-policy user2-policy.json
لاڳو ڪريو يوزر1-پاليسي پاليسي يوزر يوزر1 تي.
minio-mc admin policy set myminio user1-policy user=user1
لاڳو ڪريو يوزر2-پاليسي پاليسي يوزر يوزر2 تي.
minio-mc admin policy set myminio user2-policy user=user2
صارفين کي پاليسين جي ڪنيڪشن جي جانچ ڪندي
minio-mc admin user list myminio
صارفين کي پاليسين جي ڪنيڪشن جي جانچ ڪندي ڪجهه هن طرح نظر ايندو
enabled user1 user1-policy
enabled user2 user2-policy
وضاحت لاءِ، برائوزر ذريعي ايڊريس ڏانھن وڃو
اسان ڏسون ٿا ته اسان MINIO_ACCESS_KEY=user1 تحت Minio سان ڳنڍيل آھيون. User1bucket بالٽ اسان وٽ موجود آهي.
اهو هڪ بالٽ ٺاهڻ ممڪن نه ٿيندو، ڇاڪاڻ ته پاليسي ۾ ڪو به لاڳاپيل عمل ناهي.
اچو ته بڪيٽ user1bucket ۾ هڪ فائل ٺاهي.
اچو ته MINIO_ACCESS_KEY=user2 تحت Minio سان ڳنڍيون. User2bucket بالٽ اسان وٽ موجود آهي.
۽ اسان نه ڏسندا آهيون user1bucket يا فائلون user1bucket مان.
مينيو استعمال ڪندي هڪ ٽيليگرام چيٽ ٺاهيو
جو ذريعو: www.habr.com