我正在从ubuntu创建一个docker文件:仿生图像。
我想要一个具有sudo权限的ubuntu用户。
这是我的文件
FROM ubuntu:bionic
ENV DEBIAN_FRONTEND noninteractive
# Get the basic stuff
RUN apt-get update && \
apt-get -y upgrade && \
apt-get install -y \
sudo
# Create ubuntu user with sudo privileges
RUN useradd -ms /bin/bash ubuntu && \
usermod -aG sudo ubuntu
# Set as default user
USER ubuntu
WORKDIR /home/ubuntu
ENV DEBIAN_FRONTEND teletype
CMD ["/bin/bash"]
但是有了这个密码,我需要写下ubuntu用户的密码。
有一种方法可以通过命令行将NOPASSWD子句添加到sudoers文件中的sudo组?
首先,不建议您在docker中使用sudo
。您可以使用USER
gosu
设计您的行为。
但是,如果您出于某种不受控制的原因坚持,请在设置普通用户后添加下一行:
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
因此,对于您的场景,可行的方案是:
FROM ubuntu:bionic
ENV DEBIAN_FRONTEND noninteractive
# Get the basic stuff
RUN apt-get update && \
apt-get -y upgrade && \
apt-get install -y \
sudo
# Create ubuntu user with sudo privileges
RUN useradd -ms /bin/bash ubuntu && \
usermod -aG sudo ubuntu
# New added for disable sudo password
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# Set as default user
USER ubuntu
WORKDIR /home/ubuntu
ENV DEBIAN_FRONTEND teletype
CMD ["/bin/bash"]
测试效果:
$ docker build -t abc:1 .
Sending build context to Docker daemon 2.048kB
Step 1/9 : FROM ubuntu:bionic
......
Successfully built b3aa0793765f
Successfully tagged abc:1
$ docker run --rm abc:1 cat /etc/sudoers
cat: /etc/sudoers: Permission denied
$ docker run --rm abc:1 sudo cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
......
#includedir /etc/sudoers.d
%sudo ALL=(ALL) NOPASSWD:ALL
您可以看到,使用sudo
,我们已经可以执行根需要的命令。
我正在使用ProcessBuilder执行bash命令: 编辑 gksudo带着最后一次更新回到了Ubuntu13.04。
是否可以使用构造格式的URL? 我已尝试使用以下设置值: (此调用的第三方应用程序不支持标头和其他身份验证方法) 我想这是不支持的?
问题内容: 我正在使用ProcessBuilder执行bash命令: 但我想做这样的事情: 如何将超级用户密码传递给bash? 不会解决这个问题,因为它是从Ubuntu 13.04开始删除的,我需要使用默认命令来执行此操作。 编辑 gksudo在最近的更新中回到了Ubuntu 13.04。 问题答案: 我想您可以使用它,但是我有点犹豫要发布它。所以我只想说: 使用此方法后果自负,不建议您使用,请勿
其中/usr/local/bin/kiaragen.jar是要执行的文件。现在,我尝试运行一个依赖于a.class文件的不同版本: 将文件添加到类路径: 提供以下异常: 如何将.class文件添加到类路径?
我从MongoDB开始,我想使用/通过DBS访问。我做的第一件事是创建和管理用户,并使用auth activate启动mongodb,这是我创建的用户: 之后,我尝试使用以下命令创建用户: 但我得到了这个错误: 我在谷歌上搜索过,但只有两个结果,一个是中文的,另一个不相关,所以我有点迷茫。你知道吗?看起来我的管理用户没有权限,我可以使用以下命令访问mongodb: 提前谢了。
本文向大家介绍linux用户和组命令实例分析【切换、添加用户、权限控制等】,包括了linux用户和组命令实例分析【切换、添加用户、权限控制等】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了linux用户和组命令。分享给大家供大家参考,具体如下: 1、用户相关命令 su 切换用户 root -> 普通用户 不需要密码 普通用户之间