MinIO/MC: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
{|class='wikitable mw-collapsible'
{|class='wikitable mw-collapsible mw-collapsed'
!scope='col' style='width:1000px' colspan='3'|
!scope='col' style='width:1000px'|
'''MinIO » MC » Register » Alias'''
'''MinIO » MC » Install'''
|-
|-
|valign='top'|
|valign='top'|
Line 11: Line 11:
EXE
EXE
xdg-open http://minio.host.k8s.local &>/dev/null &
xdg-open http://minio.host.k8s.local &>/dev/null &
</syntaxhighlight>
|}
==MC » Quick » Setup==
{|class='wikitable mw-collapsible mw-collapsed'
!scope='col' style='width:1000px'|
'''MinIO » MC » Quick » Setup'''
|-
|valign='top'|
<syntaxhighlight lang="bash">
echo -n 'Username: ';read -s MC_ACCESS_KEY;export MC_ACCESS_KEY;echo
# Username: admin
</syntaxhighlight>
----
<syntaxhighlight lang="bash">
echo -n 'Password: ';read -s MC_SECRET_KEY;export MC_SECRET_KEY;echo
# Password: sadaqah!
</syntaxhighlight>
----
<syntaxhighlight lang="bash">
export MC_HOST_s3_minio_host_k8s_local_admin="http://${MC_ACCESS_KEY}:${MC_SECRET_KEY}@s3.minio.host.k8s.local"
mc ping        s3_minio_host_k8s_local_admin -c=3
mc ready      s3_minio_host_k8s_local_admin
mc admin info  s3_minio_host_k8s_local_admin
mc alias ls
</syntaxhighlight>
----
<syntaxhighlight lang="bash">
EXPIRY_DATE="$(date --utc -d '+1 year' +'%Y-%m-%dT00:00:00%:z')";\
mc admin user svcacct add  s3_minio_host_k8s_local_admin ${MC_ACCESS_KEY} --expiry ${EXPIRY_DATE};\
            unset MC_HOST_s3_minio_host_k8s_local_admin;unset MC_ACCESS_KEY;unset MC_SECRET_KEY
:'
Access Key: HS7LQO7XFCJGWNU1OQ50
Secret Key: TkbFQXTXZjYquDhzfdFBUyguZF15s0W+OYrb3LXQ
Expiration: 2026-06-30 00:00:00 +0000 UTC
'
</syntaxhighlight>
|}
==MC » Manage » Alias==
{|class='wikitable mw-collapsible mw-collapsed'
!scope='col' style='width:1000px'|
'''MinIO » MC » Manage » Alias'''
|-
|valign='top'|
<syntaxhighlight lang="bash">
echo -n 'AccessKey: ';read -s MC_ACCESS_KEY;export MC_ACCESS_KEY;echo
# AccessKey: HS7LQO7XFCJGWNU1OQ50
</syntaxhighlight>
</syntaxhighlight>
----
----
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
echo -n 'Username|AccessKey: ';read -s MC_ACCESS_KEY;export MC_ACCESS_KEY;echo
echo -n 'SecretKey: ';read -s MC_SECRET_KEY;export MC_SECRET_KEY;echo
echo -n 'Password|SecretKey: ';read -s MC_SECRET_KEY;export MC_SECRET_KEY;echo
# SecretKey: TkbFQXTXZjYquDhzfdFBUyguZF15s0W+OYrb3LXQ
</syntaxhighlight>
</syntaxhighlight>
----
----
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cat << EXE | bash
mc alias set   s3_minio_host_k8s_local_admin http://s3.minio.host.k8s.local ${MC_ACCESS_KEY} ${MC_SECRET_KEY}
mc alias set s3_minio_host_k8s_local_admin http://s3.minio.host.k8s.local ${MC_ACCESS_KEY} ${MC_SECRET_KEY}
mc ping        s3_minio_host_k8s_local_admin -c=3
mc admin info s3_minio_host_k8s_local_admin
mc ready      s3_minio_host_k8s_local_admin
mc alias list
mc admin info s3_minio_host_k8s_local_admin
EXE
mc alias rm    s3_minio_host_k8s_local_admin
mc alias ls
</syntaxhighlight>
|}
 
==MC » Manage » User==
{|class='wikitable mw-collapsible mw-collapsed'
!scope='col' style='width:1000px'|
'''MinIO » MC » Manage » User'''
|-
|valign='top'|
<syntaxhighlight lang="bash">
set +o history
echo -e "academia\nsadaqah!" | \
mc admin user add s3_minio_host_k8s_local_admin
mc admin user add s3_minio_host_k8s_local_admin academia sadaqah!
set -o history
 
mc admin user list s3_minio_host_k8s_local_admin
mc admin user list s3_minio_host_k8s_local_admin --json|jq -rs ' .[].accessKey'
mc admin user list s3_minio_host_k8s_local_admin --json|jq -rs '[.[].accessKey]|join(" ")'
</syntaxhighlight>
|}
 
==MC » Manage » Policy==
{|class='wikitable mw-collapsible'
!scope='col' style='width:1000px'|
'''MinIO » Policy » iamAcademiaList'''
|-
|valign='top'|
<syntaxhighlight lang="yaml">
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin iamAcademiaList /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - s3:ListAllMyBuckets
    Resource:
      - arn:aws:s3:::*
YML
</syntaxhighlight>
 
|-
|valign='top'|
<syntaxhighlight lang="bash">
mc admin policy info  s3_minio_host_k8s_local_admin iamAcademiaList|yq -P '.Policy'
mc admin policy rm    s3_minio_host_k8s_local_admin iamAcademiaList
mc admin policy ls    s3_minio_host_k8s_local_admin
</syntaxhighlight>
|}
 
==MC » System » Policy==
{|class='wikitable mw-collapsible mw-collapsed'
!scope='col' style='width:1000px'|
'''MinIO » Policy » consoleAdmin'''
 
|-
|valign='top'|
<syntaxhighlight lang="bash">
mc admin policy info  s3_minio_host_k8s_local_admin consoleAdmin|yq -P '.Policy'
</syntaxhighlight>
 
|-
|valign='top'|
<syntaxhighlight lang="yaml">
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin consoleAdmin /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - admin:*
  - Effect: Allow
    Action:
      - kms:*
  - Effect: Allow
    Action:
      - s3:*
    Resource:
      - arn:aws:s3:::*
YML
</syntaxhighlight>
|}
 
{|class='wikitable mw-collapsible mw-collapsed'
!scope='col' style='width:1000px'|
'''MinIO » Policy » diagnostics'''
 
|-
|valign='top'|
<syntaxhighlight lang="bash">
mc admin policy info  s3_minio_host_k8s_local_admin diagnostics|yq -P '.Policy'
</syntaxhighlight>
 
|-
|valign='top'|
<syntaxhighlight lang="yaml">
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin diagnostics /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - admin:TopLocksInfo
      - admin:BandwidthMonitor
      - admin:ConsoleLog
      - admin:OBDInfo
      - admin:Profiling
      - admin:Prometheus
      - admin:ServerInfo
      - admin:ServerTrace
    Resource:
      - arn:aws:s3:::*
YML
</syntaxhighlight>
|}
 
{|class='wikitable mw-collapsible mw-collapsed'
!scope='col' style='width:1000px'|
'''MinIO » Policy » readonly'''
 
|-
|valign='top'|
<syntaxhighlight lang="bash">
mc admin policy info  s3_minio_host_k8s_local_admin readonly|yq -P '.Policy'
</syntaxhighlight>
 
|-
|valign='top'|
<syntaxhighlight lang="yaml">
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin readonly /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - s3:GetObject
      - s3:GetBucketLocation
    Resource:
      - arn:aws:s3:::*
YML
</syntaxhighlight>
|}
 
{|class='wikitable mw-collapsible mw-collapsed'
!scope='col' style='width:1000px'|
'''MinIO » Policy » readwrite'''
 
|-
|valign='top'|
<syntaxhighlight lang="bash">
mc admin policy info  s3_minio_host_k8s_local_admin readwrite|yq -P '.Policy'
</syntaxhighlight>
 
|-
|valign='top'|
<syntaxhighlight lang="yaml">
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin readwrite /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - s3:*
    Resource:
      - arn:aws:s3:::*
YML
</syntaxhighlight>
</syntaxhighlight>
|}
|}


==MC » Bucket » Manage==
{|class='wikitable mw-collapsible mw-collapsed'
{|
!scope='col' style='width:1000px'|
'''MinIO » Policy » writeonly'''
 
|-
|valign='top'|
|valign='top'|
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mc ready s3_minio_host_k8s_local_admin
mc admin policy info  s3_minio_host_k8s_local_admin writeonly|yq -P '.Policy'
mc ping  s3_minio_host_k8s_local_admin -c=3
mc mb    s3_minio_host_k8s_local_admin/academia
mc rb    s3_minio_host_k8s_local_admin/academia
</syntaxhighlight>
</syntaxhighlight>


|-
|valign='top'|
<syntaxhighlight lang="yaml">
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin writeonly /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - s3:PutObject
    Resource:
      - arn:aws:s3:::*
YML
</syntaxhighlight>
|}
==MC » Manage » Bucket==
{|class='wikitable mw-collapsible'
!scope='col' colspan='2' style='width:1000px'|
'''MinIO » MC » Manage » Bucket'''
|-
|valign='top'|
|valign='top'|
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mc ready  s3_minio_host_k8s_local_admin
mc mb    s3_minio_host_k8s_local_admin/academia
mc mb    s3_minio_host_k8s_local_admin/agronomy
</syntaxhighlight>
</syntaxhighlight>


|valign='top'|
|valign='top'|
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mc mirror s3_minio_host_k8s_local_admin/academia \
          s3_minio_host_k8s_local_admin/agronomy
mc rb    s3_minio_host_k8s_local_admin/academia
</syntaxhighlight>
</syntaxhighlight>
|}
|}


==Playground==
==MC » Manage » Service » AC==
{|
{|class='wikitable mw-collapsible'
!scope='col' style='width:1000px'|
'''MinIO » MC » Manage » Service » AC'''
|-
|valign='top'|
|valign='top'|
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mc admin user svcacct add  s3_minio_host_k8s_local_admin academia
mc admin user svcacct list s3_minio_host_k8s_local_admin academia
EXPIRY_DATE="$(date --utc -d '+1 year' +'%Y-%m-%dT00:00:00%:z')";\
mc admin user svcacct add  s3_minio_host_k8s_local_admin academia --expiry ${EXPIRY_DATE}
for key in $(\
mc admin user svcacct list s3_minio_host_k8s_local_admin academia --json|jq -rs '[.[].accessKey]|join(" ")');do \
mc admin user svcacct rm  s3_minio_host_k8s_local_admin ${key};done
</syntaxhighlight>
|}
==Create » Random » Key==
{|class='wikitable sortable' style='text-align:right'
!scope="col" rowspan='2' style='width:630px'|Access Key
!scope="col" colspan='4' style='width:340px'|Time (Seconds)
|-
!scope="col" style='width: 60px'|Real
!scope="col" style='width: 60px'|User
!scope="col" style='width: 60px'|System
!scope="col" style='width: 60px'|Status
|-
|style='text-align:left'| <code>time echo "$(cat /dev/urandom|tr -dc 'A-Za-z0-9'|head -c 20)"</code> || 0.007    || 0.001    || 0.012    ||style='text-align:center'| 🟢
|-
|style='text-align:left'| <code>time echo "$(openssl rand -base64 16|tr -d /=+|cut -c1-20)"</code>  || 0.009    || 0.002    || 0.012    ||style='text-align:center'| 🟡
|-
|style='text-align:left'| <code>time echo "$(openssl rand -hex 12|tr -d /=+|cut -c1-20)"</code>      || 0.008    || 0.003    || 0.009    ||style='text-align:center'| 🟡
|-
|style='text-align:left'| <code>time echo "$(makepasswd --chars 20)"</code>                          || 0.023    || 0.020    || 0.003    ||style='text-align:center'| 🔴
|}
----
{|class='wikitable sortable' style='text-align:right'
!scope="col" rowspan='2' style='width:630px'|Secret Key
!scope="col" colspan='4' style='width:340px'|Time (Seconds)
|-
!scope="col" style='width: 60px'|Real
!scope="col" style='width: 60px'|User
!scope="col" style='width: 60px'|System
!scope="col" style='width: 60px'|Status
|-
|style='text-align:left'| <code>time echo "$(cat /dev/urandom|tr -dc 'A-Za-z0-9'|head -c 40)"</code> || 0.006    || 0.003    || 0.007    ||style='text-align:center'| 🟢
|-
|style='text-align:left'| <code>time echo "$(openssl rand -base64 32|tr -d /=+|cut -c1-40)"</code>  || 0.007    || 0.003    || 0.009    ||style='text-align:center'| 🟡
|-
|style='text-align:left'| <code>time echo "$(openssl rand -hex 24|tr -d /=+|cut -c1-40)"</code>      || 0.009    || 0.003    || 0.011    ||style='text-align:center'| 🟡
|-
|style='text-align:left'| <code>time echo "$(makepasswd --chars 40)"</code>                          || 0.021    || 0.016    || 0.005    ||style='text-align:center'| 🔴
|}
==Playground==
{|class='wikitable mw-collapsible mw-collapsed' style='width:100%'
!scope='col' colspan='2'|
'''MinIO » MC » Playground'''
|-
|valign='top' style='width:50%'|
<syntaxhighlight style='margin:3px 0 3px 0' lang='bash'>
jq -r '.aliases.s3_minio_host_k8s_local_admin' ~/.mc/config.json
jq -r '.aliases.s3_minio_host_k8s_local_admin' ~/.mc/config.json
mc alias export s3_minio_host_k8s_local_admin|jq -r .
mc alias export s3_minio_host_k8s_local_admin|jq -r .
Line 59: Line 366:
</syntaxhighlight>
</syntaxhighlight>


|valign='top'|
|valign='top' style='width:50%'|
<syntaxhighlight lang="bash">
<syntaxhighlight style='margin:3px 0 3px 0' lang='bash'>
cat <<'JSN'| mc alias import s3_minio_host_k8s_local_admin
cat <<'JSN'| mc alias import s3_minio_host_k8s_local_admin
{ "url": "http://s3.minio.host.k8s.local",
{ "url": "http://s3.minio.host.k8s.local",
Line 68: Line 375:
   "api": "s3v4" }
   "api": "s3v4" }
JSN
JSN
</syntaxhighlight>
|valign='top'|
<syntaxhighlight lang="bash">
</syntaxhighlight>
</syntaxhighlight>


|-
|colspan='3'|
----
|-
|-
|valign='top'|
|valign='top'|
<syntaxhighlight lang="bash">
<syntaxhighlight style='margin:3px 0 3px 0' lang='bash'>
set +o history
echo -e "academia\nsadaqah!" | \
mc admin user add s3_minio_host_k8s_local_admin
set -o history 
</syntaxhighlight>
</syntaxhighlight>


|valign='top'|
|valign='top'|
<syntaxhighlight lang="bash">
<syntaxhighlight style='margin:3px 0 3px 0' lang='bash'>
</syntaxhighlight>
</syntaxhighlight>


|valign='top'|
|-
<syntaxhighlight lang="bash">
|valign='top' colspan='2'|
<syntaxhighlight style='margin:3px 0 3px 0' lang='bash'>
mc ls            s3_minio_host_k8s_local_admin/chorke-bkp/wiki/mediawiki/daily/2025/M07/2025-07-01/apps/chorke_wiki_mediawiki.apps.2025-07-01T0000.tar.gz
mc share download s3_minio_host_k8s_local_admin/chorke-bkp/wiki/mediawiki/daily/2025/M07/2025-07-01/apps/chorke_wiki_mediawiki.apps.2025-07-01T0000.tar.gz --expire=10m
</syntaxhighlight>
</syntaxhighlight>
|}
|}


==References==
==References==
{|
{|
|valign="top"|
* [https://min.io/docs/minio/linux/reference/minio-mc-admin.html MinIO » MC » Admin]
* [https://min.io/docs/minio/linux/reference/minio-mc.html MinIO » MC]
* [[MinIO]]
|valign="top"|
|valign="top"|
|valign="top"|
|-
|colspan="4"|
----
|-
|valign="top"|
|valign="top"|
* [[Kubernetes]]
* [[Kubernetes]]
Line 100: Line 421:
* [[Docker]]
* [[Docker]]
* [[WinSW]]
* [[WinSW]]
* [[MinIO]]
* [[TMux]]
* [[CIDR]]
* [[CIDR]]
* [[UFW]]
* [[UFW]]
Line 152: Line 473:
* [[PyEnv]]
* [[PyEnv]]
* [[CURL]]
* [[CURL]]
* [[TMux]]
* [[7Zip]]
* [[7Zip]]
* [[Wrk]]
* [[Linux Containers|LXC]]
* [[Linux Containers|LXC]]
* [[Zip]]
* [[Zip]]

Latest revision as of 03:16, 4 December 2025

MinIO » MC » Install

cat <<'EXE'| sudo bash
wget  -c https://dl.min.io/client/mc/release/linux-amd64/mc \
      -P /usr/local/bin/
chmod +x /usr/local/bin/mc
EXE
xdg-open http://minio.host.k8s.local &>/dev/null &

MC » Quick » Setup

MinIO » MC » Quick » Setup

echo -n 'Username: ';read -s MC_ACCESS_KEY;export MC_ACCESS_KEY;echo
# Username: admin

echo -n 'Password: ';read -s MC_SECRET_KEY;export MC_SECRET_KEY;echo
# Password: sadaqah!

export MC_HOST_s3_minio_host_k8s_local_admin="http://${MC_ACCESS_KEY}:${MC_SECRET_KEY}@s3.minio.host.k8s.local"
mc ping        s3_minio_host_k8s_local_admin -c=3
mc ready       s3_minio_host_k8s_local_admin
mc admin info  s3_minio_host_k8s_local_admin
mc alias ls

EXPIRY_DATE="$(date --utc -d '+1 year' +'%Y-%m-%dT00:00:00%:z')";\
mc admin user svcacct add  s3_minio_host_k8s_local_admin ${MC_ACCESS_KEY} --expiry ${EXPIRY_DATE};\
             unset MC_HOST_s3_minio_host_k8s_local_admin;unset MC_ACCESS_KEY;unset MC_SECRET_KEY
:'
Access Key: HS7LQO7XFCJGWNU1OQ50
Secret Key: TkbFQXTXZjYquDhzfdFBUyguZF15s0W+OYrb3LXQ
Expiration: 2026-06-30 00:00:00 +0000 UTC
'

MC » Manage » Alias

MinIO » MC » Manage » Alias

echo -n 'AccessKey: ';read -s MC_ACCESS_KEY;export MC_ACCESS_KEY;echo
# AccessKey: HS7LQO7XFCJGWNU1OQ50

echo -n 'SecretKey: ';read -s MC_SECRET_KEY;export MC_SECRET_KEY;echo
# SecretKey: TkbFQXTXZjYquDhzfdFBUyguZF15s0W+OYrb3LXQ

mc alias set   s3_minio_host_k8s_local_admin http://s3.minio.host.k8s.local ${MC_ACCESS_KEY} ${MC_SECRET_KEY}
mc ping        s3_minio_host_k8s_local_admin -c=3
mc ready       s3_minio_host_k8s_local_admin
mc admin info  s3_minio_host_k8s_local_admin
mc alias rm    s3_minio_host_k8s_local_admin
mc alias ls

MC » Manage » User

MinIO » MC » Manage » User

set +o history
echo -e "academia\nsadaqah!" | \
mc admin user add s3_minio_host_k8s_local_admin
mc admin user add s3_minio_host_k8s_local_admin academia sadaqah!
set -o history

mc admin user list s3_minio_host_k8s_local_admin
mc admin user list s3_minio_host_k8s_local_admin --json|jq -rs ' .[].accessKey'
mc admin user list s3_minio_host_k8s_local_admin --json|jq -rs '[.[].accessKey]|join(" ")'

MC » Manage » Policy

MinIO » Policy » iamAcademiaList

yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin iamAcademiaList /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - s3:ListAllMyBuckets
    Resource:
      - arn:aws:s3:::*
YML
mc admin policy info   s3_minio_host_k8s_local_admin iamAcademiaList|yq -P '.Policy'
mc admin policy rm     s3_minio_host_k8s_local_admin iamAcademiaList
mc admin policy ls     s3_minio_host_k8s_local_admin

MC » System » Policy

MinIO » Policy » consoleAdmin

mc admin policy info   s3_minio_host_k8s_local_admin consoleAdmin|yq -P '.Policy'
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin consoleAdmin /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - admin:*
  - Effect: Allow
    Action:
      - kms:*
  - Effect: Allow
    Action:
      - s3:*
    Resource:
      - arn:aws:s3:::*
YML

MinIO » Policy » diagnostics

mc admin policy info   s3_minio_host_k8s_local_admin diagnostics|yq -P '.Policy'
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin diagnostics /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - admin:TopLocksInfo
      - admin:BandwidthMonitor
      - admin:ConsoleLog
      - admin:OBDInfo
      - admin:Profiling
      - admin:Prometheus
      - admin:ServerInfo
      - admin:ServerTrace
    Resource:
      - arn:aws:s3:::*
YML

MinIO » Policy » readonly

mc admin policy info   s3_minio_host_k8s_local_admin readonly|yq -P '.Policy'
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin readonly /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - s3:GetObject
      - s3:GetBucketLocation
    Resource:
      - arn:aws:s3:::*
YML

MinIO » Policy » readwrite

mc admin policy info   s3_minio_host_k8s_local_admin readwrite|yq -P '.Policy'
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin readwrite /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - s3:*
    Resource:
      - arn:aws:s3:::*
YML

MinIO » Policy » writeonly

mc admin policy info   s3_minio_host_k8s_local_admin writeonly|yq -P '.Policy'
yq -o=json <<'YML'| \
mc admin policy create s3_minio_host_k8s_local_admin writeonly /dev/stdin
---
Version: "2012-10-17"
Statement:
  - Effect: Allow
    Action:
      - s3:PutObject
    Resource:
      - arn:aws:s3:::*
YML

MC » Manage » Bucket

MinIO » MC » Manage » Bucket

mc ready  s3_minio_host_k8s_local_admin
mc mb     s3_minio_host_k8s_local_admin/academia
mc mb     s3_minio_host_k8s_local_admin/agronomy
mc mirror s3_minio_host_k8s_local_admin/academia \
          s3_minio_host_k8s_local_admin/agronomy
mc rb     s3_minio_host_k8s_local_admin/academia

MC » Manage » Service » AC

MinIO » MC » Manage » Service » AC

mc admin user svcacct add  s3_minio_host_k8s_local_admin academia
mc admin user svcacct list s3_minio_host_k8s_local_admin academia

EXPIRY_DATE="$(date --utc -d '+1 year' +'%Y-%m-%dT00:00:00%:z')";\
mc admin user svcacct add  s3_minio_host_k8s_local_admin academia --expiry ${EXPIRY_DATE}

for key in $(\
mc admin user svcacct list s3_minio_host_k8s_local_admin academia --json|jq -rs '[.[].accessKey]|join(" ")');do \
mc admin user svcacct rm   s3_minio_host_k8s_local_admin ${key};done

Create » Random » Key

Access Key Time (Seconds)
Real User System Status
time echo "$(cat /dev/urandom|tr -dc 'A-Za-z0-9'|head -c 20)" 0.007 0.001 0.012 🟢
time echo "$(openssl rand -base64 16|tr -d /=+|cut -c1-20)" 0.009 0.002 0.012 🟡
time echo "$(openssl rand -hex 12|tr -d /=+|cut -c1-20)" 0.008 0.003 0.009 🟡
time echo "$(makepasswd --chars 20)" 0.023 0.020 0.003 🔴

Secret Key Time (Seconds)
Real User System Status
time echo "$(cat /dev/urandom|tr -dc 'A-Za-z0-9'|head -c 40)" 0.006 0.003 0.007 🟢
time echo "$(openssl rand -base64 32|tr -d /=+|cut -c1-40)" 0.007 0.003 0.009 🟡
time echo "$(openssl rand -hex 24|tr -d /=+|cut -c1-40)" 0.009 0.003 0.011 🟡
time echo "$(makepasswd --chars 40)" 0.021 0.016 0.005 🔴

Playground

MinIO » MC » Playground

jq -r '.aliases.s3_minio_host_k8s_local_admin' ~/.mc/config.json
mc alias export s3_minio_host_k8s_local_admin|jq -r .
mc alias remove s3_minio_host_k8s_local_admin
mc admin info   s3_minio_host_k8s_local_admin

jq -r '.aliases|keys[]' ~/.mc/config.json
mc alias list
cat <<'JSN'| mc alias import s3_minio_host_k8s_local_admin
{ "url": "http://s3.minio.host.k8s.local",
  "accessKey": "admin",
  "secretKey": "sadaqah!",
  "path": "auto",
  "api": "s3v4" }
JSN
set +o history
echo -e "academia\nsadaqah!" | \
mc admin user add s3_minio_host_k8s_local_admin
set -o history
mc ls             s3_minio_host_k8s_local_admin/chorke-bkp/wiki/mediawiki/daily/2025/M07/2025-07-01/apps/chorke_wiki_mediawiki.apps.2025-07-01T0000.tar.gz
mc share download s3_minio_host_k8s_local_admin/chorke-bkp/wiki/mediawiki/daily/2025/M07/2025-07-01/apps/chorke_wiki_mediawiki.apps.2025-07-01T0000.tar.gz --expire=10m

References