gpt4 book ai didi

Docker CMD 无法添加新用户,权限被拒绝

转载 作者:行者123 更新时间:2023-12-04 19:08:29 25 4
gpt4 key购买 nike

我有一个 docker 镜像,最后启动此脚本:


# Start the server
CMD [ "bash", "/app/start.sh"]

然后是我的脚本 start.sh

# Create ssh user
useradd -m -d /home/${SSH_MASTER_USER} -G ssh ${SSH_MASTER_USER} -s /bin/bash
echo "${SSH_MASTER_USER}:${SSH_MASTER_PASS}" | chpasswd
echo 'PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin"' >> /home/${SSH_MASTER_USER}/.profile

我不断收到这个错误:

useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.

如果使用 sudo 运行,它会说:
sudo: no tty present and no askpass program specified


试图像这样修复它:

sudo -S useradd -m -d /home/${SSH_MASTER_USER} -G ssh ${SSH_MASTER_USER} -s /bin/bash

但是现在要求我输入密码,但是没有密码...

最佳答案

我的基本镜像正在使用 root。
所以我要添加appuser并像这样安装 sudo:

RUN adduser --disabled-password --gecos "" appuser
RUN apt-get update
RUN apt-get install -y sudo
RUN echo "appuser ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/appuser && chmod 0440 /etc/sudoers.d/appuser
稍后当您准备为所有命令使用新用户时:
USER appuser:appuser
就是这样,现在 appuser默认情况下将成为用户的可以使用 sudo没有密码。

关于Docker CMD 无法添加新用户,权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62797369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com