mc 常用命令

连接服务器

mc alias set <别名> <端点> <访问密钥> <秘密密钥>

/usr/local/minio/mc --insecure alias set myminio https://minio:19000 minioadmin 05XFqJZek01T
mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/root/.mc/share`.
mc: Initialized share uploads `/root/.mc/share/uploads.json` file.
mc: Initialized share downloads `/root/.mc/share/downloads.json` file.
Added `myminio` successfully.

查看所有配置信息

/usr/local/minio/mc --insecure alias list
gcs    
  URL       : https://storage.googleapis.com
  AccessKey : YOUR-ACCESS-KEY-HERE
  SecretKey : YOUR-SECRET-KEY-HERE
  API       : S3v2
  Path      : dns
  Src       : /root/.mc/config.json

local  
  URL       : http://localhost:9000
  AccessKey : 
  SecretKey : 
  API       : 
  Path      : auto
  Src       : /root/.mc/config.json

myminio
  URL       : https://minio:19000
  AccessKey : minioadmin
  SecretKey : 05XFqJZek01T
  API       : s3v4
  Path      : auto
  Src       : /root/.mc/config.json

play   
  URL       : https://play.min.io
  AccessKey : Q3AM3UQ867SPQQA43P2F
  SecretKey : zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG
  API       : S3v4
  Path      : auto
  Src       : /root/.mc/config.json

s3     
  URL       : https://s3.amazonaws.com
  AccessKey : YOUR-ACCESS-KEY-HERE
  SecretKey : YOUR-SECRET-KEY-HERE
  API       : S3v4
  Path      : dns
  Src       : /root/.mc/config.json

查看 minio 节点信息

/usr/local/minio/mc --insecure admin info myminio
●  minio:19000
   Uptime: 13 minutes 
   Version: 2025-06-13T11:33:47Z
   Network: 1/1 OK 
   Drives: 3/3 OK 
   Pool: 1

┌───┬───────────┬────── ────┬───────┐
│ Pool │ Drives Usage         │ Erasure stripe size │ Erasure sets │
│ 1st  │ 0.9% (total: 40 GiB) │ 3                   │ 1            │
└───┴───────────┴────── ────┴───────┘

3 drives online, 0 drives offline, EC:1

存储桶管理

创建存储桶

mc mb <别名>/<存储桶名>

/usr/local/minio/mc --insecure mb myminio/wgs-test
Bucket created successfully `myminio/wgs-test`.

查看所有存储桶

mc ls <别名>

/usr/local/minio/mc --insecure ls myminio
[2025-07-18 15:52:32 CST]     0B wgs-test/

删除空存储桶

# 删除空存储桶
mc rb <别名>/<存储桶名>

# 强制删除非空存储桶
mc rb --force <别名>/<存储桶名>

/usr/local/minio/mc --insecure rb myminio/wgs-test
Removed `myminio/wgs-test` successfully.

桶策略管理

# 设置匿名访问策略
mc anonymous set <权限> <别名>/<存储桶>
# 权限选项: private, public, download, upload

# 获取当前策略
mc anonymous get <别名>/<存储桶>

# 设置生命周期规则
mc ilm add <别名>/<存储桶> --expiry-days 90

设置桶为公开

/usr/local/minio/mc --insecure anonymous set public myminio/wgs-test
Access permission for `myminio/wgs-test` is set to `public`

下载验证

wget  --no-check-certificate https://192.168.174.144:19000/wgs-test/files/test.txt
--2025-07-18 16:29:50--  https://192.168.174.144:19000/wgs-test/files/test.txt
Connecting to 192.168.174.144:19000... connected.
WARNING: The certificate of ‘192.168.174.144’ is not trusted.
WARNING: The certificate of ‘192.168.174.144’ doesn't have a known issuer.
HTTP request sent, awaiting response... 200 OK
Length: 12 [text/plain]
Saving to: ‘test.txt’

test.txt                               100%[============================================================================>]      12  --.-KB/s    in 0s      

2025-07-18 16:29:50 (40.2 MB/s) - ‘test.txt’ saved [12/12]

对象操作

文件传输

# 上传文件/目录
mc cp [--recursive] <本地路径> <别名>/<存储桶>/<路径>

# 下载文件/目录
mc cp [--recursive] <别名>/<存储桶>/<路径> <本地目录>

# 文件同步
mc mirror [--overwrite] <本地目录> <别名>/<存储桶>/<路径>
/usr/local/minio/mc --insecure cp nginx-ingress-controller.tar.gz myminio/wgs-test/nginx/
...ngress-controller.tar.gz: 286.55 MiB / 286.55 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 90.02 MiB/s 3s[root@minio ~]# 

对象管理

# 查看对象内容
mc cat <别名>/<存储桶>/<对象>

# 删除对象
mc rm <别名>/<存储桶>/<对象>

# 查找对象
mc find <别名>/<存储桶> --name "*.log" --size +1MB

系统管理

用户管理

# 添加用户
mc admin user add <别名> <用户名> <密码>

# 禁用用户
mc admin user disable <别名> <用户名>

# 列出所有用户
mc admin user list <别名>


# 创建ak/sk
mc admin accesskey create <别名>/ <用户名>

创建用户

/usr/local/minio/mc --insecure  admin user add myminio app-user "v>mCa0}JWN/w08*T"
Added user `app-user` successfully.

创建 ak/sk

/usr/local/minio/mc --insecure admin accesskey create myminio/ app-user
Access Key: AM9JX7NYM0I8474T8GO8
Secret Key: +L3GXvIM+tSgUUIrkcWUCq1yunmSxsJ+YW4NoDa1
Expiration: NONE
Name: 
Description: 

服务管理

# 重启服务
mc admin service restart <别名>

# 恢复(解冻)S3 API 调用
mc admin service unfreeze ALIAS

内置策略

策略管理

# 创建策略
mc admin policy create <别名> <策略名> <策略文件.json>

# 分配策略
mc admin policy attach <别名> <策略名> --user=<用户名>

# 删除策略
mc admin policy detach <别名> <策略名> --user=<用户名>

# 查看策略内容
mc admin policy info <别名> <策略名>

查看内置策略

/usr/local/minio/mc --insecure  admin policy list myminio
consoleAdmin
diagnostics
readonly
readwrite
writeonly

查看内置策略内容

/usr/local/minio/mc --insecure admin policy info myminio readwrite
{
 "PolicyName": "readwrite",
 "Policy": {
  "Version": "2012-10-17",
  "Statement": [
   {
    "Effect": "Allow",
    "Action": [
     "s3:*"
    ],
    "Resource": [
     "arn:aws:s3:::*"
    ]
   }
  ]
 }
}

示例

创建存储桶

/usr/local/minio/mc --insecure mb myminio/test

创建专用用户

/usr/local/minio/mc --insecure  admin user add myminio app-user "v>mCa0}JWN/w08*T"

生成访问密钥

/usr/local/minio/mc --insecure admin accesskey create myminio/ app-user
Access Key: AM9JX7NYM0I8474T8GO8
Secret Key: +L3GXvIM+tSgUUIrkcWUCq1yunmSxsJ+YW4NoDa1
Expiration: NONE
Name: 
Description: 

创建策略

cat > readwrite-test-policy.json <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "arn:aws:s3:::test",
        "arn:aws:s3:::test/*"
      ]
    }
  ]
}
EOF
/usr/local/minio/mc --insecure admin policy create myminio readwrite-test readwrite-test-policy.json
Created policy `readwrite-test` successfully.

验证策略

/usr/local/minio/mc --insecure admin policy info myminio readwrite-test
{
 "PolicyName": "readwrite-test",
 "Policy": {
  "Version": "2012-10-17",
  "Statement": [
   {
    "Effect": "Allow",
    "Action": [
     "s3:*"
    ],
    "Resource": [
     "arn:aws:s3:::test",
     "arn:aws:s3:::test/*"
    ]
   }
  ]
 },
 "CreateDate": "2025-07-18T09:37:49.146Z",
 "UpdateDate": "2025-07-18T09:37:49.146Z"
}

绑定策略到用户

/usr/local/minio/mc --insecure admin policy attach myminio readwrite-test --user app-user
Attached Policies: [readwrite-test]
To User: app-user

验证用户权限

/usr/local/minio/mc --insecure admin user info myminio app-user
AccessKey: app-user
Status: enabled
PolicyName: readwrite-test
MemberOf: []

连接测试

/usr/local/minio/mc --insecure alias set test-minio https://minio:19000 AM9JX7NYM0I8474T8GO8 +L3GXvIM+tSgUUIrkcWUCq1yunmSxsJ+YW4NoDa1
Added `test-minio` successfully.

上传文件测试

参考文档

https://min.io/docs/minio/linux/reference/minio-mc-admin.html

posted @ 2025-07-18 18:48  小吉猫  阅读(90)  评论(0)    收藏  举报