1.利用dm-crypt来创建加密文件系统。编写shell脚本(安装和卸载两个shell脚本)

2.编写ansible,playbook文件

3.编写python脚本

首先编写shell脚本

install.sh

#!/bin/sh

sudo apt-get install dmsetup cryptsetup

sudo modprobe dm-crypt

echo "dd if=/dev/zero of=/home/prod/secret.img bs=1M count=100"

sudo dd if=/dev/zero of=/home/prod/secret.img bs=1M count=100

echo "----------------------------------------------------------"

echo "losetup /dev/loop0 ~/secret.img"

sudo losetup /dev/loop0 /home/prod/secret.img

echo "----------------------------------------------------------"

sudo losetup /dev/loop0

echo "----------------------------------------------------------"

echo "cryptsetup -y  create myEncryptedFilesystem /dev/loop0"

sudo cryptsetup -y  create myEncryptedFilesystem /dev/loop0

echo "----------------------------------------------------------"

sudo dmsetup ls

echo "----------------------------------------------------------"

echo "mkfs.ext3 /dev/mapper/myEncryptedFilesystem"

sudo mkfs.ext3 /dev/mapper/myEncryptedFilesystem

echo "----------------------------------------------------------"

sudo mkdir /mnt/myEncryptedFilesystem

echo "----------------------------------------------------------"

echo "mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem"

sudo mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem

echo "----------------------------------------------------------"

sudo df -h /mnt/myEncryptedFilesystem

uninstall.sh

#!/bin/sh

sudo umount /mnt/myEncryptedFilesystem

sudo cryptsetup remove myEncryptedFilesystem

sudo dmsetup ls

sudo losetup -d /dev/loop0

sudo rm -rf secret.img

编写playbook文件

---
- hosts: cmdb
user: prod
sudo: True
tasks:
- name: install dm-crypt
action: command sh /home/prod/svnrepos/uninstall.sh

编写python脚本

import commands

(status, output) = commands.getstatusoutput('ansible-playbook playbook.yml')

print status, output

首先运行install.sh脚本

须要输入password。

然后执行python脚本执行uninstall.sh 卸载

运行python脚本的结果例如以下

ansible学习之--简单学习笔记1的更多相关文章

  1. ElasticSearch 5学习(4)——简单搜索笔记

    空搜索: GET /_search hits: total 总数 hits 前10条数据 hits 数组中的每个结果都包含_index._type和文档的_id字段,被加入到_source字段中这意味 ...

  2. Log4j简单学习笔记

    log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...

  3. Linux——帮助命令简单学习笔记

    Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...

  4. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  5. canvas学习之API整理笔记(二)

    前面我整理过一篇文章canvas学习之API整理笔记(一),从这篇文章我们已经可以基本了解到常用绘图的API.简单的变换和动画.而本篇文章的主要内容包括高级动画.像素操作.性能优化等知识点,讲解每个知 ...

  6. 《Data Structures and Algorithm Analysis in C》学习与刷题笔记

    <Data Structures and Algorithm Analysis in C>学习与刷题笔记 为什么要学习DSAAC? 某个月黑风高的夜晚,下班的我走在黯淡无光.冷清无人的冲之 ...

  7. Elasticsearch7.X 入门学习第八课笔记-----索引模板和动态模板

    原文:Elasticsearch7.X 入门学习第八课笔记-----索引模板和动态模板 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...

  8. Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍

    原文:Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本 ...

  9. Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介)

    原文:Elasticsearch7.X 入门学习第四课笔记---- Search API之(Request Body Search 和DSL简介) 版权声明:本文为博主原创文章,遵循CC 4.0 BY ...

随机推荐

  1. jquery 定位

    jquery 定位 <html> <head> <title>jquery 定位</title> </head> <body> ...

  2. Java任务执行计时

    Long startTime = System.currentTimeMillis(); Long endTime = System.currentTimeMillis(); endTime-star ...

  3. ProxyFactory

    Spring定义了org.springframework.aop.framework.AopProxy接口,并提供了两个final类型的实现类. AopProxy类结构:

  4. struts2中关于jsp页面向action传值出现乱码问题

    在JSP页面输入中文并传给后台的时候,常常会出现乱码问题,产生乱码的原因:java在进行传值的时候,默认用的是iso-8859-1的编码形式进行传输,而我们jsp页面常用的则是utf-8的编码形式.所 ...

  5. C指针复制字符串从一个数组到另一个数组

    #include <stdio.h> void  copyString (char  *to, char  *from) {      while ( *from ) // from指针遇 ...

  6. Docker安装Oracle12C,导入dmp文件出现ORA-12170错误

    oracle版本为 sath89/oracle-12c oracle基本信息 hostname: localhost port: 1521 sid: xe username: system passw ...

  7. MySQL内外联结

    一.内联结(INNER JOIN) MySQL内联结使用INNER JOIN将多个数据表t1,t2隔开,结果是t1里的每一个数据行将与t2里的每一个数据行组合. 逗号连接符.CROSS JOIN和JO ...

  8. word break和word wrap

    默认情况下,如果同一行中某个单词太长了,它就会被默认移动到下一行去: word break(normal | break-all | keep-all):表示断词的方式 word wrap(norma ...

  9. HTML+CSS 制作HTML5标志图

    效果图如下:(是用代码写的,而不是图片!) 网上看到的代码. 看了下,就是CSS的transform属性的应用.加上定位等.组合在一起形成图片. 没什么难点,就是width,left等数据得根据HTM ...

  10. 大数据学习——有两个海量日志文件存储在hdfs

    有两个海量日志文件存储在hdfs上, 其中登陆日志格式:user,ip,time,oper(枚举值:1为上线,2为下线):访问之日格式为:ip,time,url,假设登陆日志中上下线信息完整,切同一上 ...