linux安装无法添加挂载,linux-无法在已挂载/ etc / passwd和/ etc / shadow的docker容器中添加新用户...

问题示例:

docker run -ti -v my_passwd:/etc/passwd -v my_shadow:/etc/shadow --rm centos

[root@681a5489f3b0 /]# useradd test # does not work !?

useradd: failure while writing changes to /etc/passwd

[root@681a5489f3b0 /]# ll /etc/passwd /etc/shadow # permission check

-rw-r--r-- 1 root root 157 Oct 8 10:17 /etc/passwd

-rw-r----- 1 root root 100 Oct 7 18:02 /etc/shadow

使用passwd时也会出现类似的问题:

[root@681a5489f3b0 /]# passwd test

Changing password for user test.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: Authentication token manipulation error

我尝试使用ubuntu映像,但是出现相同的问题.

我可以从容器中手动编辑passwd文件和影子文件.

我在以下两台机器上遇到相同的问题:

主机操作系统:CentOS 7-SELinux已禁用

Docker版本:1.8.2,内部版本0a8c2e3

主机操作系统:CoreOS 766.4.0

Docker版本:1.7.1,构建df2f73d-dirty

解决方法:

之所以失败,是因为passwd处理了一个临时文件,然后尝试将其重命名为/ etc / shadow.失败是因为/ etc / shadow是一个安装点-无法替换-导致此错误(使用strace捕获):

102 rename("/etc/nshadow", "/etc/shadow") = -1 EBUSY (Device or resource busy)

您可以从命令行简单地重现此内容:

# cd /etc

# touch foo

# mv foo shadow

mv: cannot move 'foo' to 'shadow': Device or resource busy

您可以通过以下方式解决此问题:在其他位置安装包含my_shadow和my_passwd的目录,然后在容器中适当地符号链接/ etc / passwd和/ etc / shadow:

$docker run -it --rm -v $PWD/my_etc:/my_etc centos

[root@afbc739f588c /]# ln -sf /my_etc/my_passwd /etc/passwd

[root@afbc739f588c /]# ln -sf /my_etc/my_shadow /etc/shadow

[root@afbc739f588c /]# ls -l /etc/{shadow,passwd}

lrwxrwxrwx. 1 root root 17 Oct 8 17:48 /etc/passwd -> /my_etc/my_passwd

lrwxrwxrwx. 1 root root 17 Oct 8 17:48 /etc/shadow -> /my_etc/my_shadow

[root@afbc739f588c /]# passwd root

Changing password for user root.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

[root@afbc739f588c /]#

标签:passwd,docker,linux,etcpasswd

来源: https://codeday.me/bug/20191027/1947383.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CDI中的事务异常处理

在Java EE中,在执行事务性业务方法期间引发的异常导致事务回滚。 但是,只有系统异常(即运行时异常)才是这种情况,该方法异常未在方法签名中声明。 对于应用程序异常(即检查的异常)或任何带Appl…

openoffice+linux+jodconverter+乱码,OpenOffice安装和转换乱码解决方案

前言:OpenOffice项目中用途:word转换pdfWindows安装、转换:安装包下载后一路OK就可以正常安装,转换没有问题Linux安装、转换:安装有分DEB包和RPM包,下面会说明各自安装方法在en_US.UTF-8 系统环境下会出现乱…

linux常用操作符,Shell常用操作符总结

一、算术操作 - * / %二、关系操作> < ! && ||三、测试操作测试命令 : test [ ] [[ ]] (( ))1、测试文件状态-d 目录-b 块设备-s 文件长度 > 0、非空-f 正规文件-w 可写-L 符号连接-u 文件有 suid 位设置-r 可读…

junit 参数化测试用例_JUnit:在参数化测试中命名单个测试用例

junit 参数化测试用例几年前&#xff0c;我写了有关JUnit参数化测试的文章 。 我不喜欢它们的一件事是JUnit使用数字命名了单个测试用例&#xff0c;因此&#xff0c;如果它们失败&#xff0c;您将不知道是哪个测试参数导致了失败。 以下Eclipse屏幕快照将向您展示我的意思&…

华硕台式机安装linux进不去系统,[已解决]求助,无法进入系统

之前一直用arch系统盘&#xff0c;Windows系统盘是在另一台电脑上的&#xff0c;我另外一台电脑昨天摔了&#xff0c;我还以为是硬盘坏了&#xff0c;把这块windows硬盘换到这台华硕主板的电脑&#xff0c;发现硬盘没坏。我于是把windows硬盘从机箱拿出来&#xff0c;现在碰到了…

处理JAX-RS中的自定义异常类型

JAX-RS支持处理自定义异常&#xff08;以EJB或CID Bean形式抛出&#xff09;以处理自定义HTTP响应。 假设我们有一个“异常” EJB&#xff1a; Stateless public class Hello {public String greeting() {if (new Random().nextBoolean())throw new GreetingException("…

MX250和第三方Linux版区别,MX250和MX350哪个好一点,区别和差距在哪里?求推荐?_科技数码通...

MX350系列显卡使笔记本颜值变得更高&#xff0c;性能更强&#xff0c;更轻便&#xff0c;在轻便笔记本需求变得越来越大&#xff0c;但性能也要求越来越高&#xff0c;特别是在图像处理方面&#xff0c;这个时候MX系列的显卡便应运而生&#xff0c;其拥有者超低的功耗&#xff…

linux r包默认安装位置,R-Language(R语言或称r-project)的安装

1、R语言的简介R语言(r-project)是主要用于统计分析、绘图的语言和操作环境。2、配置yum源2.1、安装说明由于编译安装相对繁琐&#xff0c;故而安装使用repoforge的源解决&#xff0c;免去编译的麻烦。注意&#xff1a;请根据实际的系统OS版本选取合适的YUM源。2.3、rpmforge源…

aws s3 命令行_通过命令行界面使用AWS ElasticMapReduce

aws s3 命令行在本文中&#xff0c;我将通过使用EMR的CLI使用AWS MapReduce服务&#xff08;称为ElasticMapReduce &#xff09;。 使用EMR的过程可以大致分为三个步骤&#xff1a; 设置并填充S3存储桶 创建并运行EMR作业 从S3存储桶中获取结果 在开始这三个高级步骤之前&…

在5分钟内将Spring Boot作为Windows服务启动

最近&#xff0c;我不得不将Spring Boot应用程序部署为Windows服务&#xff0c;并且对使用winsw如此容易感到惊讶。 我之前曾写过关于使用procrun – Java程序作为Windows服务的文章 &#xff0c;但是winsw更加容易 入门 Spring Boot文档的第59节是有关安装Spring Boot应用程序…

linux下用c语言打印hellword,用C语言写一个Helloworld_实现第一步编译运行

asp&period;net在线预览txt文件&lpar;简单实现&rpar;最近在做文件的在线预览,发现txt文件没有一个较好的方法去实现,想了想可能是比较简单就直接在后台输出了 txt文件Windows 环境下基于 Redis 的 Celery 任务调度模块的实现搭建环境: Windows-x64 10 Celery 3.1.2…

c语言自动计算时间,C语言 · 计算时间

【工业串口和网络软件通讯平台&lpar;SuperIO&rpar;教程】四&period;开发设备驱动SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 开发准备 把“开发包”内的所有文件复制到项目的“bin”目录下,或项目下的专用生成目录.开发包 ...java compiler leve…

matchers依赖_Hamcrest Matchers,Guava谓词和Builder设计模式

matchers依赖通常&#xff0c;在编码时&#xff0c;我们必须处理其中包含数十个字段的一些POJO对象。 很多时候&#xff0c;我们通过一个带有数十个参数的构造函数来初始化这些类&#xff0c;这以任何可能的想象的方式都是可怕的。 除此之外&#xff0c;使用这些构造函数的函数…

8255编程c语言程序,51单片机8255驱动C程序

/*----------------------------------------------------------------------------------------------------------------库文件名称&#xff1a;driver8155.h功能描述&#xff1a;驱动8155&#xff0c;不需要了解8255的工作原理&#xff0c;透明操作8255的三个输入输出口PA、…

如何编写更少,更好的代码,或Project Lombok

我长期以来一直打算撰写有关Lombok项目的文章 &#xff0c;以至于每当一个自重的Java开发人员都已经听说过它时&#xff0c;我可能会写它。 尽管如此&#xff0c;值得一提的是&#xff0c;如果只是提醒自己&#xff0c;不要犹豫&#xff0c;尝试性能增强工具并查看它们是否合适…

c语言ue,小话C语言中的cotinue和break

#includeint fun(){ printf("fun\n");return 1;}int main(int argc,char *argv[]){int c0;printf("please input your num ,case 3 to break\n");do{scanf("%d",&c);switch(c){case 0:break; /*这里的break只会跳出swtich*/case 1:continue;…

c语言 at指令,学渣求指教,如何识别字符串中的AT命令并逐个输出,求程序!!!...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Topic – to implement a parser to retrieve AT command line and print out (1) the tokensone by one and (2) the elapse time of each command line (processing).Please submit the solution in 48 hours.- The solution cou…

defender 删除_Java 8中的默认方法(Defender方法)简介

defender 删除我们都知道Java中的接口仅包含方法声明&#xff0c;而没有实现&#xff0c;并且任何实现该接口的非抽象类都必须提供实现。 让我们看一个例子&#xff1a; public interface SimpleInterface {public void doSomeWork(); }class SimpleInterfaceImpl implements …

江西财经研究生834c语言试卷,江西财经大学2006年考研C语言程序设计试题(B卷)

1、给定一个数X&#xff0c;判断它至少能被3&#xff0c;5&#xff0c;7中的两个数整除的表达式。(5分)某学生今年学习5门课程&#xff0c;其考试成绩为&#xff1a;X1、X2、X3、X4、X5.请写出该同学符合三好学生学习成绩的表达式。(5分)3、a&#xff0c;b&#xff0c;c为三条边…

JAX-RS 2.1的Jersey客户端依赖性

泽西岛是JAX-RS 2.1的参考实现。 为了在企业容器外部运行具有JSON-P和JSON-B映射的JAX-RS 2.1客户端&#xff0c;需要以下Jersey依赖项。 Jersey客户端2.6版实现了JAX-RS 2.1 API。 以下依赖性将客户端运行时添加到项目中&#xff1a; <dependency><groupId>org.…