作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用基于 alpine 的操作系统构建 cassandra docker 镜像。在容器运行过程中,我遇到了与权限相关的问题,因为我以 cassandra 用户身份运行。我无法运行 sudo 并将我的用户 cassandra 切换为 sudo 用户。下面是我的示例 docker 文件,仅显示与 sudo 用户相关的逻辑--
FROM alpine:latest
RUN apk --no-cache update \
&& apk --no-cache add sudo
copy run.sh /usr/local/
RUN addgroup -S cassandra && adduser -S cassandra -G cassandra
RUN chown -R cassandra:cassandra /home/cassandra/
RUN echo 'cassandra ALL=(ALL) /bin/su' >> /etc/sudoers
USER cassandra
ENTRYPOINT [ "sh","/usr/local/run.sh"]
最佳答案
首先,您不需要为新创建的用户分配 root 权限,这会杀死用户的目的。
因此您无需将用户更改为 root
用户,您可以使用 root
在正在运行的容器中运行命令用户。
docker exec -it --user root mycontainer sh
USER root
# Run root operation here
# Change user back to cassandra
USER cassandra
RUN adduser -D $USER \
&& echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER \
&& chmod 0440 /etc/sudoers.d/$USER
USER $USER
WORKDIR $HOME
RUN whoami
RUN sudo whoami
Step 9/11 : RUN whoami
---> Running in d52065213d2d
default
Removing intermediate container d52065213d2d
---> c1b526ea8342
Step 10/11 : RUN sudo whoami
---> Running in 5f4ddd11a5f2
root
关于docker - 如何在 docker alpine 镜像中将非 root 用户设为 sudo 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60699897/
由“CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "", ES_MULTILINE.."创建的文本框需要\r\n 换行。我将我的 stdoutput 重定向到那个文
我是一名优秀的程序员,十分优秀!