在CentOS 7上使用普通用户`minio`安装和配置MinIO

当然,以下是在CentOS 7上使用普通用户minio安装和配置MinIO的完整步骤,包括设置密码、设置开机自启动,以及使用minio用户启动和关闭服务的过程:

  1. 创建MinIO用户:

    sh 复制代码
    sudo useradd -m minio
    sudo passwd minio

    这将创建一个可以登录的用户minio并设置密码。

  2. 安装wget (如果系统尚未安装):

    sh 复制代码
    sudo yum install wget
  3. 下载MinIO服务器:

    sh 复制代码
    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    sudo mv minio /usr/local/bin

    这将下载MinIO二进制文件,赋予执行权限,并移动到/usr/local/bin

  4. 创建数据目录:

    sh 复制代码
    sudo mkdir /data
    sudo chown -R minio:minio /data

    这将创建一个名为/data的目录,并将其所有权分配给minio用户。

  5. 创建环境变量文件:

    sh 复制代码
    sudo nano /etc/default/minio

    在该文件中添加以下内容:

    复制代码
    MINIO_ROOT_USER=账号
    MINIO_ROOT_PASSWORD=密码
    MINIO_ACCESS_KEY=youraccesskey
    MINIO_SECRET_KEY=yoursecretkey

    替换成您的访问密钥和秘密密钥。

  6. 设置环境文件权限:

    sh 复制代码
    sudo chown minio:minio /etc/default/minio
    sudo chmod 600 /etc/default/minio
  7. 创建Systemd服务文件:

    sh 复制代码
    sudo nano /etc/systemd/system/minio.service

    添加以下内容:

    ini 复制代码
    [Unit]
    Description=MinIO
    Documentation=https://docs.min.io
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    WorkingDirectory=/usr/local/
    User=minio
    Group=minio
    EnvironmentFile=-/etc/default/minio
    ExecStart=/usr/local/bin/minio server /data
    
    Restart=always
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
  8. 启用和启动MinIO服务:

    sh 复制代码
    sudo systemctl daemon-reload
    sudo systemctl enable minio
    sudo systemctl start minio
  9. 检查MinIO服务状态:

    sh 复制代码
    sudo systemctl status minio

完成以上步骤后,MinIO将作为一个服务在后台运行,由minio用户管理,并且在系统启动时自动启动。通过这种方式,您可以确保MinIO服务的安全运行。

要使用minio用户登录进去启动和关闭MinIO服务,您需要确保该用户有权限执行这些操作。由于systemctl命令通常需要root权限,您可能需要进行一些额外配置。但是,出于安全考虑,通常不建议直接赋予普通用户这种权限。相反,建议始终使用具有适当权限的用户(如root)来管理系统服务。

如果您坚持要使用minio用户来管理服务,有两种方法可以做到这一点:

方法1:使用sudo

  1. minio用户授予sudo权限 :

    编辑sudoers文件,为minio用户添加特定的权限。使用visudo以安全方式编辑文件:

    sh 复制代码
    sudo visudo

    在文件中添加以下行:

    复制代码
    minio ALL=(ALL) NOPASSWD: /bin/systemctl start minio, /bin/systemctl stop minio, /bin/systemctl restart minio, /bin/systemctl status minio

    这允许minio用户无需输入密码即可执行启动、停止、重启和检查MinIO服务的状态。

  2. 使用minio用户执行命令 :

    登录为minio用户后,使用以下命令启动或停止MinIO服务:

    • 启动服务:

      sh 复制代码
      sudo systemctl start minio
    • 停止服务:

      sh 复制代码
      sudo systemctl stop minio
    • 重启服务:

      sh 复制代码
      sudo systemctl restart minio
    • 检查服务状态:

      sh 复制代码
      sudo systemctl status minio

方法2:配置特定的脚本(较为复杂)

  1. 编写脚本 :

    minio用户编写特定的脚本来启动和停止MinIO服务,并将这些脚本放在用户可以访问的位置。

  2. 设置脚本权限 :

    给予minio用户执行这些脚本的权限。

  3. 配置sudo :

    如上所述,使用visudo来授予minio用户执行这些脚本的权限。

请注意,第二种方法更复杂,需要确保脚本的安全性和正确性,因此不推荐非经验丰富的用户使用。在大多数情况下,建议使用具有适当权限的用户(如root)来管理系统服务。

相关推荐
2603_965148117 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl7 小时前
存储性能建模:IOPS、吞吐与延迟
linux
jufeng13078 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 8 篇】
python·ai agent·配置系统
circuitsosk9 小时前
跨境电商智能化实战:AI如何赋能客服自动回复、广告智能投放与供应链预测
大数据·人工智能·python·langchain·智能客服
刘某的Cloud9 小时前
ceph osd 导入导出 rbd volume 卷
linux·运维·ceph·volume
2601_956319889 小时前
2026年零基础学量化:从看懂示例到写清条件和动作
人工智能·python
过期的秋刀鱼!10 小时前
LangChain-D1-模型的工作流程
人工智能·python·langchain
萤火工厂目视化设计10 小时前
智能制造与企业文化目视化浪潮下:中小工厂的机遇与挑战
python·制造
酸菜。11 小时前
dw_axi_dmac总结
linux
神奇霸王龙11 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程