docker fixuid
docker fixuid
- 一、fixuid是什么
- 二、使用场景
- 三、问题
- dockerfile
- docker run
一、fixuid是什么
fixuid是用go语言编写的,当容器起来后可以修改容器中非root用户的UID/GID和文件权限。
项目地址:https://github.com/boxboat/fixuid
二、使用场景
当容器中的用户为UID:1000,GID:1000,HOST主机的用户为UID:1001, GID:1002,此时挂载数据卷,会提示提示”permission denied”。
通过使用fixuid,在容器启动时,当HOST主机的UID/GID传进去,fixuid会将容器中用户的UID改成1001,GID改成1002,并且该用户下的所有文件权限也会改成1001:1002。由于容器内外用户的UID/GID一致,此时再挂载数据卷不会由任何问题。
三、问题
默认情况下,容器中的进程以 root 用户执行,并且这个 root 用户和宿主机中的 root 是同一个用户,这意味着:
1.容器中运行的进程,在合适的机会下,有权限控制宿主机中的一切;
2.容器中运行的进程,以 root 用户执行,外界很难追溯到真实的用户;
3.容器进程生成的文件,是 root 用户所有,普通用户没有权限读取修改。(fixuid可以自定义容器内普通用户的uid,如果固定住了可以让拥有同样uid的宿主机使其目录做挂载做到权限分离)
dockerfile
#在线部分
RUN USER=docker && \GROUP=docker && \curl -SsL https://github.com/boxboat/fixuid/releases/download/v0.5.1/fixuid-0.5.1-linux-amd64.tar.gz | tar -C /usr/local/bin -xzf - && \chown root:root /usr/local/bin/fixuid && \chmod 4755 /usr/local/bin/fixuid && \mkdir -p /etc/fixuid && \printf "user: $USER\ngroup: $GROUP\n" > /etc/fixuid/config.yml
#离线全部
FROM debian:latest
COPY fixuid-0.4.1-linux-amd64.tar.gz /opt
RUN useradd -m docker
RUN USER=docker && \GROUP=docker && \tar -xzf /opt/fixuid-0.4.1-linux-amd64.tar.gz -C /usr/local/bin && \chown root:root /usr/local/bin/fixuid && \chmod 4755 /usr/local/bin/fixuid && \mkdir -p /etc/fixuid && \printf "user: $USER\ngroup: $GROUP\n" > /etc/fixuid/config.yml
USER docker:docker
ENTRYPOINT ["fixuid"]
docker run
#这里没有写死uid,需要同普通用户一样uid可以动态传入,不想也可以单独传入不一样的uiddocker run --rm -it -u 1001:1000 vm01:v1 sh
fixuid: fixuid should only ever be used on development systems. DO NOT USE IN PRODUCTION
fixuid: updating user 'docker' to UID '1001'
fixuid: runtime GID '1000' already matches container group 'docker' GID
fixuid: recursively searching path /
fixuid: chown /home/docker
fixuid: chown /home/docker/.bash_logout
fixuid: chown /home/docker/.bashrc
fixuid: chown /home/docker/.profile
$ id
uid=1001(docker) gid=1000(docker) groups=1000(docker)# 换了普通的镜像
docker run --rm -it -u 1002:1001 centos:centos7 bash
bash-4.2$ id
uid=1002 gid=1001 groups=1001
bash-4.2$ exit相关文章:
docker fixuid
docker fixuid 一、fixuid是什么二、使用场景三、问题dockerfiledocker run 一、fixuid是什么 fixuid是用go语言编写的,当容器起来后可以修改容器中非root用户的UID/GID和文件权限。 项目地址:https://github.com/boxboat/fixuid 二、使用场景 当容器…...
MySQL笔记--SQL语句
目录 1--SQL的通用语法 2--SQL语句的分类 3--DDL语句 3-1--数据库操作 3-2--表操作 3-3--数据类型 3-4--修改和删除 4--DML语句 4-1--插入数据 4-2--修改数据 4-3--删除数据 5--DQL语句 5-1--基本查询 5-2--条件查询 5-3--聚合函数 5-4--分组查询 5-5--排序查…...
线扫相机DALSA-相机平场矫正详细步骤
在相机视野下铺放白色亚克力板或纯白纸,采集图像。打开曲线图。 选择 Line Profile 模式。调节好相应所需的曝光时间、光源、增益和镜头光圈,让白平衡纸显示出来的灰度值大概在 150-200 左右。 在Calibration Algorithm 中将显示的数值设置好。 先暗场…...
求购供应发布农业副业产品市场行情小程序开发
农业副业产品求购供应发布市场行情小程序H5开源版开发 后台同步:一键获取全国近200家农产品批发市场的商品价格,包括蔬菜、水果、水产、粮油和农副产品等。 实时更新和同步市场价格动态,保障信息的准确性和时效性。 前端VIP权益功能&…...
框架安全-CVE 复现SpringStrutsLaravelThinkPHP漏洞复现
目录 服务攻防-框架安全&CVE 复现&Spring&Struts&Laravel&ThinkPHP概述PHP-开发框架安全-Thinkphp&Laravel漏洞复现Thinkphp-3.X RCEThinkphp-5.X RCELaravel框架安全问题- CVE-2021-3129 RCE JAVAWEB-开发框架安全-Spring&Struts2Struts2框架安全…...
【腾讯云 HAI域探秘】宝妈也能快速入门AI绘画
活动背景 本次活动是由腾讯云和CSDN联合推出的开发者技术实践活动。我通过技术交流直播、动手实验、征文等形式,深入沉浸式体验腾讯云高性能应用服务 HAI。从活动中汲取到技术上的精华。在本次活动中,只要完成各个环节任务,不仅可以参与 AIGC…...
归并排序,自顶向下
归并排序主要两步,一步是划分区间,另一步是合并两个区间 这个算法的稳定性更好,对比快排这种,如果整体是倒序的话,快排的复杂度会达到o(n^2),归并会更稳定。 划分区间主要是递归去实现,下面给…...
【案例】3D地球(vue+three.js)
需要下载插件 <template><div class"demo"><div id"container" ref"content"></div></div> </template> <script> import * as THREE from three; // import mapJSON from ../map.json; import { Or…...
C语言中float byte char uint_8 转换方法
1.float转Byte[] #include <stdio.h>int main() {float floatValue 3.141592; // 浮点数值// 存储到字节数组unsigned char *byteArr (unsigned char *)&floatValue;// 打印字节数组for (int i 0; i < sizeof(float); i) {printf("Byte %d: 0x%02X\n&q…...
瑞明达:脚踏实地,为实体经济贡献“瑞明达”力量
实体经济是指以实际物质生产和经营为主要特征的经济形态,是经济发展的基础和主体。瑞明达团队一直关注着实体经济的发展,也在不断探索如何运用科技手段和管理经验助力实体经济的发展。团队将从几个方面介绍瑞明达团队的看法和实践经验。 实体经济在国家经…...
ChatGPT-自然语言处理模型
前言 GPT(Generative Pre-trained Transformer)是一种自然语言处理模型,具有强大的文本生成和理解能力。 使用场景 它可以用于各种场景,包括但不限于: 1. 自动文本生成:GPT可以生成连贯、流畅的文章、故…...
Apache Dolphinscheduler如何不重启解决Master服务死循环
个人建议 Apache Dolphinscheduler作为一个开源的调度平台,目前已经更新到了3.X版本,4.0版本也已经呼之欲出。3.0版本作为尝鲜版本,新添加了许多的功能,同时也存在非常多的隐患,本人使用3.0版本作为生产调度也踩了很多…...
绝对好用!一个浏览器插件解决跨设备同步问题,吊打文件传输助手!
在数字化的时代,我们所接触的信息呈现指数级的增长。无论是办公资料、学习资源,还是各种生活中的点滴,所有这些信息以各种形式——文本、图片、视频、音乐等——出现在我们面前,如何有效地同步和管理这些内容成为一个挑战。 就跨…...
阿昌教你如何优雅的数据脱敏
阿昌教你如何优雅的数据脱敏 Hi,我是阿昌,最近有一个数据脱敏的需求,要求用户可自定义配置数据权限,并对某种类型数据进行脱敏返回给前端 一、涉及知识点 SpringMVCJava反射Java自定义注解Java枚举 二、方案选择 1、需求要求…...
力扣每日一题80:删除有序数组中的重复项||
题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的…...
SQL——插入已经存在的数据
现在有一套ID为9003的高难度SQL试卷,时长为一个半小时,请你将 2021-01-01 00:00:00 作为发布时间插入到试题信息表examination_info(其表结构如下图),不管该ID试卷是否存在,都要插入成功,请尝试…...
【网络安全 --- 任意文件上传漏洞靶场闯关 6-15关】任意文件上传漏洞靶场闯关,让你更深入了解文件上传漏洞以及绕过方式方法,思路技巧
一,工具资源下载 百度网盘资源下载链接地址: 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan…...
阿里云2核2G3M云服务器99元/年,新老同享,续费不涨价!
2023年阿里云双11活动正在火热进行中,推出了一款面向个人开发者、学生、小微企业的年度爆款套餐,2核2G3M云服务器99元/年,新老同享,续费不涨价! 一、活动入口 活动地址:传送门>>> 二、活动详情 …...
UWB 技术在机器人和移动领域的应用题】
多年来,机器人生态系统不断增长,不同的应用程序也在不断增长。如今,机器人出现在许多不同的领域,例如私人家庭、商业场所、仓库和医疗场所。他们要么自主工作,要么与我们并肩工作,帮助我们完成任务。 根据…...
11.1 知识总结(JavaScript)
一、 ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 EC…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
