我是Openshift的新手。我在openshift中部署了一个应用程序。当我检查日志时,有些文件的权限被拒绝。现在,我想更改已经部署在Openshift中的容器的权限,但是我得到了“操作不允许”警告。我该怎么解决这个问题?
这是用于运行最新版本的MongoDB的linux。我已经尝试在我的docker文件中执行运行chmod 777 /path/to/目录,创建映像并在我的yaml文件中提取相同的映像,我正在openshift中部署该映像。但是,当我检查我的docker容器时,它会显示该目录的权限已被更改,但是当我部署时,我会在日志中得到“拒绝权限”的警告。
FROM node:10.16.3
RUN apt update && apt install -y openjdk-8-jdk
RUN useradd -ms /bin/bash admin
# Set the workdir /var/www/myapp
WORKDIR /var/www/myapp
# Copy the package.json to workdir
COPY package.json .
# Run npm install - install the npm dependencies
RUN npm install
RUN npm install sqlite3
# Copy application source
COPY . .
RUN chown -R admin:admin /var/www/myapp
RUN chmod 775 /var/www/myapp
USER admin
# Copy .env.docker to workdir/.env - use the docker env
#COPY .env.docker ./.env
# Expose application ports - (4300 - for API and 4301 - for front end)
# EXPOSE 4300 4301
EXPOSE 52000
CMD [ "npm", "start" ]虽然,当我运行我的dockerifle时,权限已经改变了,但是当我试图在我的openshift中部署时,我被拒绝了对该目录中的一些文件的许可。
发布于 2019-10-20 14:47:21
默认情况下,在OpenShift中启动的任何容器都会获得一个随机的用户ID。因此,对于未设计用于处理此类随机UID的图像,如果出现权限错误,则会失败。
为了让您的形象发挥作用,我建议您阅读最新OpenShift文档的以下文章:https://docs.openshift.com/container-platform/4.2/openshift_images/create-images.html
在这里,与您的问题相关的简短版本:
支持任意用户入侵检测系统
默认情况下,OpenShift容器平台使用任意分配的用户ID运行容器,这提供了额外的安全性,防止进程由于容器引擎漏洞而转义容器,从而实现对主机节点的权限升级。
若要支持以任意用户身份运行的映像,映像中的进程可能写入的目录和文件应属于根组,并由该组读取/写入。要执行的文件也应该具有组执行权限。
将以下内容添加到您的Dockerfile中,将设置目录和文件权限,以允许根组中的用户在构建的映像中访问它们:
RUN chgrp -R 0 /some/directory && \
chmod -R g=u /some/directory ,因为容器用户总是根组的成员,容器用户可以读写这些文件。根组没有任何特殊权限(与根用户不同),因此这种安排不涉及安全问题。此外,容器中运行的进程不能监听特权端口(1024以下的端口),因为它们不是以特权用户的身份运行的。
。
发布于 2020-12-14 14:40:15
将这个添加到我的Dockerfile中是有效的:
RUN chgrp -R 0 /some/directory && \
chmod -R g=u /some/directory 发布于 2021-01-18 11:14:47
Dockerfile中的以下更改为我解决了这个问题
#Add user
RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u 1001 ubuntu
#Add permissions
RUN chown -R ubuntu:root /home/ubuntu && \
chgrp -R 0 /home/ubuntu && \
chmod -R 775 /home/ubuntu
##Specify the user with UID
USER 1001https://stackoverflow.com/questions/58473832
复制相似问题