linux安装无法添加挂载,linux-无法在已挂载/ etc / passwd和/ etc / shadow的docker容器中添加新用户...
时间: 2023-09-14 18:09:27 浏览: 107
这个问题可能是由于以下原因导致的:
1. 容器正在运行,而你尝试挂载一个已经挂载的文件系统,这会导致挂载失败。你可以尝试先停止容器再进行挂载操作。
2. 如果你使用的是 Docker 容器,那么在容器内添加新用户需要在 Dockerfile 中定义。你可以使用以下命令在 Dockerfile 中添加新用户:
```
RUN useradd -ms /bin/bash newuser
```
这个命令将创建一个名为 `newuser` 的新用户,并将其默认 shell 设置为 `/bin/bash`。
如果你已经创建了一个新用户,但是无法登录,那么你需要确保该用户的密码已经设置。你可以使用以下命令为该用户设置密码:
```
RUN echo 'newuser:newpassword' | chpasswd
```
将 `newuser` 替换为你创建的新用户的用户名,将 `newpassword` 替换为你想要设置的密码。
3. 如果你使用的是主机系统,而不是 Docker 容器,那么你需要确保你有足够的权限来添加新用户。如果你是以普通用户身份登录的,那么你需要使用 `sudo` 命令来获取管理员权限,然后才能添加新用户。
希望这些信息对你有帮助。如果你还有其他问题,请随时问我。
相关问题
docker run -it --name le1.8 -u build -u 1000:1000 -w /home/ol -v /home/ol/:/home/ol -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -v /etc/shadow:/etc/shadow -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone self-ubuntu:v1 /bin/bash
这是一个运行 Docker 容器的命令。该命令会创建一个名为 "le1.8" 的容器,并以 "build" 用户身份运行。容器的工作目录被设置为 "/home/ol",并且将主机上的 "/home/ol" 目录挂载到容器内的相同路径。此外,还将主机上的 "/etc/passwd"、"/etc/group"、"/etc/shadow"、"/etc/localtime" 和 "/etc/timezone" 文件挂载到容器内对应的路径。最后,使用 "self-ubuntu:v1" 镜像创建容器,并以交互模式启动一个新的 Bash 终端。
这个命令的作用是在 Docker 容器中创建一个基于 "self-ubuntu:v1" 镜像的运行环境,并将主机上的相关配置文件和目录挂载到容器中,以便在容器中进行操作和访问。
tail -n 2 /etc/passwd /etc/shadow > output.txt 2> error.txt tail -n 2 /etc/passwd /etc/shadow > output.txt 2>&1
error.txt 这个命令的作用是什么?
回答:这个命令的作用是将 /etc/passwd 和 /etc/shadow 文件中的最后两行合并起来,并分别输出到 output.txt 和 error.txt 文件中。其中,标准输出重定向到 output.txt 文件中,标准错误输出重定向到 error.txt 文件中。
阅读全文