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

相关推荐
AAD5558889912 分钟前
数字仪表LCD显示识别与读数:数字0-9、小数点及单位kwh检测识别实战
python
开源技术2 小时前
Python Pillow 优化,打开和保存速度最快提高14倍
开发语言·python·pillow
学嵌入式的小杨同学2 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
EverydayJoy^v^2 小时前
RH134学习进程——十二.运行容器(1)
linux·运维·容器
syseptember2 小时前
Linux网络基础
linux·网络·arm开发
zl_dfq3 小时前
Linux 之 【多线程】(线程的概念、Linux中的线程、页表)
linux
Li emily3 小时前
解决港股实时行情数据 API 接入难题
人工智能·python·fastapi
wfeqhfxz25887823 小时前
农田杂草检测与识别系统基于YOLO11实现六种杂草自动识别_1
python
郝亚军3 小时前
如何在Ubuntu和win10/11之间通过samba访问对方的文件
linux·服务器·ubuntu
mftang4 小时前
Python 字符串拼接成字节详解
开发语言·python