当前位置: 首页 > news >正文

优化Docker权限管理:配置Docker用户组

Docker 利用 Linux 的用户和组权限来管理对 Docker 守护进程的访问权限。一般情况下,只有 root 用户和属于 docker 用户组的用户才被允许访问 Docker 守护进程。在 Linux 系统上使用 Docker 时,如果您尚未配置 docker 用户组,那么作为非 root 用户执行 Docker 相关命令将要求使用 sudo 来提升权限。

最近,我们接管了一个由第三方提供的服务,他们是在linux上直接取消sudo密码。尽管这种方式也可以让我们在每次执行 sudo docker 命令时无需输入密码,但在生产环境中,这种方式可能显得有些不够谨慎。

本篇博客将为您详细介绍如何正确配置 Docker 用户组,以便您能够直接使用 docker 命令来管理容器,这将有助于提高系统的安全性和可维护性,确保权限的合理分配,从而减少潜在的风险。同时也会顺便介绍如何在 Linux 系统下取消 sudo 密码的设置。

查看docker用户组

首先,确保您已经在您的 Linux 系统上安装了 Docker。如果尚未安装,可以参考博主之前的文章Docker 及 Docker Compose 安装指南

默认情况下,Docker 在安装过程中会创建一个名为 docker 的用户组,用于管理 Docker 容器。您可以使用以下命令来查看是否存在 docker 用户组:

getent group docker

_20230904064101.png

如果不存在,则使用以下命令创建docker用户组

sudo groupadd docker

将用户添加到 Docker 用户组

要允许特定用户在不使用 sudo 密码的情况下运行 Docker 命令,可以将该用户添加到 docker 用户组。使用以下命令,将 your_username 替换为您的用户名:

sudo usermod -aG docker your_username

或者

sudo gpasswd -a your_username docker

更新用户组

为了使更改生效,使用以下命令更新用户组。

newgrp docker

_20230904064620.png

附:linux取消sudo密码

在之前使用 Linux 的时候,每次执行 sudo 命令都需要输入 root 用户的密码,这一点确实有些繁琐。因此,我采取了取消 sudo 密码的措施,下面将详细介绍具体的配置方法。

运行以下命令以编辑 sudoers 文件:

sudo vim /etc/sudoers

方法一:将

%sudo   ALL=(ALL:ALL) ALL

改为

%sudo   ALL=(ALL:ALL) NOPASSWD:ALL

则所有用户sudo都不需要密码

方法二:添加

your_username ALL=(ALL) NOPASSWD : ALL

则your_username用户不需要sudo密码

总结

通过完成上述步骤,您可以方便地在 Linux 系统上使用 Docker,而无需在每次运行 Docker 命令时输入 sudo 密码。这将提高容器化应用程序的开发和管理效率。如果您要在服务器上取消sudo 密码,请注意,取消 sudo 密码要求需要谨慎操作,确保只授予必要的用户这一权限,以维护系统的安全性。

http://www.lryc.cn/news/154058.html

相关文章:

  • python+opencv读取rtsp流
  • linux入门---动静态库的加载
  • 计算机竞赛 基于深度学习的人脸专注度检测计算系统 - opencv python cnn
  • 【Yolov5+Deepsort】训练自己的数据集(3)| 目标检测追踪 | 轨迹绘制 | 报错分析解决
  • docker desktop如何一键进入容器内部
  • 多机单目标跟踪Cross-Drone Transformer Network for Robust Single Object Tracking
  • 手写Mybatis:第7章-SQL执行器的定义和实现
  • C语言基础知识理论版(很详细)
  • CG MAGIC分享3d Max中的Corona渲染器材质如何成转换VRay材质?
  • 电脑入门:路由器常见问题排错步骤
  • mac电脑识别不出来u盘?mac识别不了u盘怎么办
  • 【系统编程】线程池以及API接口简介
  • Verilog零基础入门(边看边练与测试仿真)-笔记
  • LLMs之Code:Code Llama的简介、安装、使用方法之详细攻略
  • [国产MCU]-W801开发实例-MQTT客户端通信
  • 搭建个人hMailServer 邮件服务实现远程发送邮件
  • React的 虚拟DOM创建
  • 供热管网安全运行监测,提升供热管网安全性能
  • 手写Mybatis:第14章-解析和使用ResultMap映射参数配置
  • GE VME-7807RC-410001350-93007807-410001 K数字输入模块
  • C++插入加密,替代加密
  • Web前端开发概述
  • Web自动化 —— Selenium元素定位与防踩坑
  • 【数据结构】树和二叉树的概念及结构(一)
  • 第三章 USB应用笔记之USB鼠标(以STM32 hal库为例)
  • 微服务01-基本介绍+注册中心EureKa
  • 【ES6】JavaScript中的异步编程:async和await
  • 51单片机热水器温度控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)
  • Spring Boot 配置文件加密
  • 【树形权限】树形列表权限互斥选择、el-tree设置禁用等等