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

相关推荐
我的运维人生7 分钟前
Python技术深度探索:从基础到进阶的实践之旅(第一篇)
开发语言·python·运维开发·技术共享
Bonne journée9 分钟前
‌在Python中,print(f‘‘)是什么?
java·开发语言·python
iiimZoey33 分钟前
Dit架构 diffusion范式分类+应用
人工智能·python
R三哥哥啊34 分钟前
【树莓派5B】IO串口通信使用
python
互联网时光机1 小时前
python写的window小工具-一键设置ip自动获取ip
网络·windows·python
SCBAiotAigc1 小时前
VSCode debug模式无法跳转进入内置模块
人工智能·vscode·python
卓琢1 小时前
(九)Shell 脚本(四):正则表达式、sed 和 awk 详解
linux·mysql·正则表达式
call_me_wangcheng1 小时前
django创建项目
python·django
VXbishe1 小时前
(附源码)基于springboot的“我来找房”微信小程序的设计与实现-计算机毕设 23157
java·python·微信小程序·node.js·c#·php·课程设计
chusheng18401 小时前
Python 如何使用 multiprocessing 模块创建进程池
python·信息可视化·matplotlib