Context

Apparmor 已在 cluster 的工作节点 node02 上被启用。一个 Apparmor 配置文件已存在,但尚未被实施。

Task

在 cluster 的工作节点 node02 上,实施位于 /etc/apparmor.d/nginx_apparmor 的现有 APPArmor 配置文件。

编辑位于 /home/candidate/KSSH00401/nginx-deploy.yaml 的现有清单文件以应用 AppArmor 配置文件。
最后,应用清单文件并创建其中指定的 Pod 。

注意: 题目中已标明 APPArmor 在工作节点上,所有需要ssh到该节点。

参考资料

https://kubernetes.io/zh-cn/docs/tutorials/security/apparmor/

解答

首先执行切换集群操作

kubectl config use-context KSSH00401

1. 切换到 node02

ssh node02 && sudo -i

2. 检查配置文件

vim /etc/apparmor.d/nginx_apparmor

#include <tunables/global>

#nginx-profile-3         # 注释这一行否则加载配置文件会报错

profile nginx-profile-3 flags=(attach_disconnected) {

#include <abstractions/base>

file,

# Deny all file writes.

deny /** w,

}

3. 执行apparmor 策略模块

查看当前节点加载的 apparmor profile ,手工加载

apparmor_status|grep nginx

apparmor_parser /etc/apparmor.d/nginx_apparmor

再次检查,就有nginx-profile-3 模块

4. 修改 pod 文件

修改内容如下:

vim /home/candidate/KSSH00401/nginx-deploy.yaml

apiVersion: v1

kind: Pod

metadata:

name: podx

annotations:        #添加这一部分

container.apparmor.security.beta.kubernetes.io/podx: localhost/nginx-profile-3

spec:

containers:

- image: busybox

imagePullPolicy: IfNotPresent

name: podx         #这个就是containers下的名字,为podx

command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 1h" ]

resources: {}

nodeName: node01

dnsPolicy: ClusterFirst

restartPolicy: Always

status: {}

创建

kubectl apply -f /home/candidate/KSSH00401/nginx-deploy.yaml

检查

如果想写入文件会报错,

kubectl exec podx -- touch /tmp/test

CKS 考试题整理 (02)-Apparmor的更多相关文章

  1. linux基础:第三关课前考试题整理

    1.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644, 要求使用命令取得644 这样的数字. [root@server ~]# stat /etc/hosts ...

  2. 【web前端面试题整理02】前端面试题第二弹袭来,接招!

    前言 今天本来准备先了解下node.js的,但是,看看我们一个小时前与一个小时后的差距: 既然如此,我们继续来搜集我们的前端面试题大业吧!!! 特别感谢玉面小肥鱼提供哟,@玉面小飞鱼 题目一览 Jav ...

  3. node.js整理 02文件操作-常用API

    NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...

  4. mysql基础整理02

    比较运算符 > < = >= <= !=和<> !=和<>都是一个意思,都是不等于的意思 and和or and 并且&& 需要同时满足多 ...

  5. MySQL进阶篇(02):索引体系划分,B-Tree结构说明

    本文源码:GitHub·点这里 || GitEE·点这里 一.索引简介 1.基本概念 首先要明确索引是什么:索引是一种数据结构,数据结构是计算机存储.组织数据的方式,是指相互之间存在一种或多种特定关系 ...

  6. MySQL进阶篇(01):基于多个维度,分析服务器性能

    本文源码:GitHub·点这里 || GitEE·点这里 一.服务器性能简介 1.性能定义 服务器性能优化是一项非常艰巨的任务,当然也是很难处理的问题,在写这篇文章的时候,特意请教下运维大佬,硬件工程 ...

  7. Java基础篇(03):流程控制语句,和算法应用

    本文源码:GitHub·点这里 || GitEE·点这里 一.分支语句 流程控制语句对任何一门编程语言都是非常重要的,Java中基于流程控制程序执行的不同步骤和代码块. 1.IF条件 IF条件语句会根 ...

  8. MySQL进阶篇(03):合理的使用索引结构和查询

    本文源码:GitHub·点这里 || GitEE·点这里 一.高性能索引 1.查询性能问题 在MySQL使用的过程中,所谓的性能问题,在大部分的场景下都是指查询的性能,导致查询缓慢的根本原因是数据量的 ...

  9. Java知识系统回顾整理01基础02面向对象01类和对象

    一.面向对象实例--设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一 ...

  10. Java知识系统回顾整理01基础04操作符02关系操作符

    一.关系操作符 关系操作符:比较两个变量之间的关系  > 大于 >= 大于或等于 < 小于 <= 小于或等于 == 是否相等 != 是否不等 public class Hell ...

随机推荐

  1. IDEAL部署外部tomcat及其乱码解决

    控制台tomca乱码问题: 本人使用tomcat9为例 1.启动信息有中文乱码: 原因:tomcat采用的是utf-8,而windows默认是GBK 修改java.util.logging.Conso ...

  2. LeeCode 二叉树问题(三)

    二叉树的应用问题 LeeCode 222: 完全二叉树的节点个数 题目描述 给你一棵 完全二叉树 的根节点 root,求出该树的节点个数. 完全二叉树的定义 除最底层节点可能没填满外,其余每层节点树都 ...

  3. CentOS7.6静默安装19C实例脚本 ORA-27125 [FATAL] [DBT-10322]

    脚本: dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname test -sid test -characte ...

  4. Yum安装svn及配置

    svn配置 1.安装svn服务器端 yum install subversion 从镜像下载安装svn服务器端 cd /usr/local/ //进入目录,准备创建svn目录 mkdir svn // ...

  5. fio性能测试-环境搭建,功能介绍,测试讲解

    fio性能测试-环境搭建,功能介绍,测试讲解 Fio介绍:FIO(Flexible I/O Tester)是一个用于测试磁盘.文件系统.块设备和网络设备性能的工具.它可以模拟不同类型的I/O负载,包括 ...

  6. 什么是BFC,BFC的作用,以及怎么触发BFC

    什么是BFC: 块级格式化上下文 BFC的作用: BFC其实就是规定了网页布局的规范     1.BFC就是页面上的一个独立容器,容器里面的元素不会影响到外面的元素     解释:BFC的基本改变,最 ...

  7. 对doccano自动标注使用的默认UIE模型进行微调以提高特定领域的实体识别能力,提高标注速度

    虽然doccano的自动标注使用默认的UIE模型可以识别出一定的实体,但是在特定领域或者因为实体类别名不能被理解很多实体是识别不了的,所以我们可以通过自己标注的数据对模型进行微调来满足我们Auto L ...

  8. 海思码率控制相关参数调优(CBR/VBR)

    1.CBR 海思相关参数调整(在Hisi板,cat /proc/umap/rc 可查看相关参数变化) 1.1 RC参数 1.2 VENC参数 VENC_PARAM_H264_CBR_S/VENC_PA ...

  9. iOS APP启动广告实现方式 与 APP唤端调用

    APP启动广告功能实现要从2个方面思考 一是UI方案,怎样处理广告页与主页之间的切换方式. 二是广告页展示时机,是使用后台实时广告数据还是使用本地缓存广告数据.后台数据方式获取广告最新但是用户要等待后 ...

  10. 2022年5月5日模拟赛题解与总结(ABC237)

    总结 初一第一,竞赛班第二 还可以,为了照顾提高班来的四个同学放了四个水题,可惜他们做的不是很理想,希望他们下次可以获得满意的成绩 这次做的其实是 AtCoder ABC237 A.Not Overf ...