在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)来管理系统服务。

相关推荐
Shingmc32 小时前
【Linux】线程互斥与同步
linux
Vect__8 小时前
深刻理解进程、线程、程序
linux
极梦网络无忧9 小时前
OpenClaw 基础使用说明(中文版)
python
codeJinger9 小时前
【Python】操作Excel文件
python·excel
末日汐9 小时前
传输层协议UDP
linux·网络·udp
XLYcmy10 小时前
一个针对医疗RAG系统的数据窃取攻击工具
python·网络安全·ai·llm·agent·rag·ai安全
Islucas10 小时前
Claude code入门保姆级教程
python·bash·claude
萝卜白菜。10 小时前
TongWeb7.0相同的类指明加载顺序
开发语言·python·pycharm
赵钰老师10 小时前
【ADCIRC】基于“python+”潮汐、风驱动循环、风暴潮等海洋水动力模拟实践技术应用
python·信息可视化·数据分析