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

相关推荐
CodeYp201940 分钟前
第19讲:自旋锁
linux·自旋锁
此生决int1 小时前
Linux系列(08)——进程控制
linux·运维·驱动开发
小小张说故事1 小时前
Python 的 a[1:5:2] 到底切出了什么?拆开 slice 对象、__getitem__ 与负步长那次反向
python
wuyk5551 小时前
PyQt6-第15讲-数据可视化QChart
python·ui·信息可视化·pyqt
Percep_gan1 小时前
Linux中安装gitea,很详细
linux·elasticsearch·gitea
天天被压力2 小时前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
日日大王学编程2 小时前
2026主流AI Agent产品分类、核心差异与技术特性全解析
人工智能·后端·python
天天被压力2 小时前
【A股分钟级高频数据完全手册 #03】股票历史1分钟K线数据接口怎么用:Pro版批量拉取与本地缓存
java·人工智能·python
Rabitebla10 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
Android系统攻城狮15 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频