禁止以 root 用户启动容器

介绍

通过禁止以 root 用户启动容器,可以限制容器内进程的可用权限,降低被容器中恶意进程通过 root 权限入侵/破坏用户应用、主机甚至整个集群的风险。
如果确认当前工作负载确实需要以 root 用户启用容器的话,可以忽略此检查项。

修复办法

修改 Dockerfile 创建一个非 root 用户并通过 User 指令使用这个用户,同时修改工作负载的 Pod Spec 中的 securityContext 定义,增加 runAsNonRoot: true 配置

示例

# Dockerfile
RUN addgroup -S nonroot && adduser -u 65530 -S nonroot -G nonroot
USER 65530

# Pod Spec (container configuration)
securityContext:
  runAsNonRoot: true

参考文章

<think>好的,用户想查找关于启动和配置MariaDB的指南或教程,具体询问如何启动并配置MariaDB。首先,我需要综合之前提供的引用内容来整理步骤。 根据引用3,安装MariaDB需要使用yum命令,而引用4提到用apt-get安装,这可能涉及不同系统环境,比如CentOS和Ubuntu。所以需要分情况说明安装步骤。启动服务的话,引用2和3都提到了systemctl命令,包括启动服务和设置开机自启。 配置部分,引用3提到修改监听地址为127.0.0.1,可能需要编辑配置文件,如/etc/my.cnf或/etc/mysql/mariadb.conf.d/50-server.cnf,具体路径可能因系统而异。另外,安全设置方面,运行mysql_secure_installation是关键步骤,这点在引用3中有提到。 用户可能需要详细的步骤,包括安装、启动、配置监听地址、安全设置以及基本操作。需要确保命令准确,并提醒用户注意系统差异,比如包管理工具的不同。同时,引用中的例子需要正确标注来源,比如启动命令和配置修改部分对应的引用编号。 另外,用户的问题可能涉及不同操作系统,需要明确说明不同环境的处理方法。比如,在CentOS中使用yum安装,而Ubuntu/Debian使用apt-get。同时,配置文件的路径可能不同,需要给出常见的位置,并建议用户根据实际情况查找。 最后,生成相关问题时要涵盖安装、配置优化、常见问题、安全措施以及容器部署等方面,这样用户可以有进一步了解的途径。确保每个步骤都清晰,并引用正确的来源,避免混淆。</think>### 如何启动并配置MariaDB? #### 一、安装MariaDB 1. **Linux系统(CentOS/RHEL)** ```bash yum -y install mariadb mariadb-server # 安装服务端与客户端[^3] ``` 2. **Ubuntu/Debian系统** ```bash sudo apt-get install mariadb-server # 安装MariaDB服务[^4] ``` --- #### 二、启动与自启配置 1. **启动MariaDB服务** ```bash systemctl start mariadb # 启动服务[^2][^3] ``` 2. **设置开机自启** ```bash systemctl enable mariadb # 启用自启动[^2][^3] ``` 3. **验证服务状态** ```bash systemctl status mariadb # 查看运行状态[^3][^4] ``` --- #### 三、基础安全配置 1. **运行安全脚本** ```bash /usr/bin/mysql_secure_installation # 设置root密码、删除匿名用户等[^3] ``` 按提示操作: - 设置root密码 - 移除匿名用户 - 禁止远程root登录 - 删除测试数据库 2. **登录数据库** ```bash mysql -u root -p # 输入密码后进入MySQL命令行 ``` --- #### 四、修改监听地址(可选) 1. **编辑配置文件** ```bash vim /etc/my.cnf # 或 /etc/mysql/mariadb.conf.d/50-server.cnf(Ubuntu)[^3] ``` 2. **添加/修改以下内容** ```ini [mysqld] bind-address = 127.0.0.1 # 仅允许本地连接 ``` 3. **重启服务生效** ```bash systemctl restart mariadb ``` --- #### 五、容器化部署(Docker) 1. **拉取镜像并运行** ```bash docker run --name my-mariadb -e MYSQL_ROOT_PASSWORD=your_password -d mariadb[^1] ``` - `--name`: 容器名称 - `-e MYSQL_ROOT_PASSWORD`: 设置root密码 - `-d`: 后台运行 --- #### 六、验证安装 ```bash mysql -V # 输出类似:mysql Ver 15.1 Distrib 5.5.68-MariaDB ``` --- ### 配置优化建议 - 调整`my.cnf`中的`innodb_buffer_pool_size`提升性能 - 定期备份数据库(使用`mysqldump`或工具) - 配置防火墙规则限制数据库端口(默认3306)访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值