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. Hibernate5.x版本HQL限定查询 Legacy-style query parameters (`?`) are no longer supported

    在此版本的限定查询和4.0版本的限定查询: 如果查询语句是: String hql = "select u from User u where u.gender = ?"; 会出现 ...

  2. (待解决)IDEA配置JDBC查询数据库PreparedStatement pstmt = dbconn.prepareStatement(sql)出现空指针错误

    package com.demo; import java.io.*; import java.sql.*; import java.util.*; import javax.servlet.*; i ...

  3. WebGL 绘制Line的bug(二)

    上一篇文章简单介绍了WebGL绘制Line的bug,不少朋友给我发了私信,看来这个问题大家都遇上过哈.今天这篇文章会讲述解决这个问题的work around. 基本思路 上一篇文章结尾简单提了下解决的 ...

  4. IOS学习笔记1—Iphone程序运行流程

    Iphone程序运行流程 main.m文件,iOS应用程序的主入口 main函数的两个参数为命令行参数,在ios开发中不会用到这些元素,包括这两个参数是为了与标准ANSI C保持一致 UIApplic ...

  5. js|jquery常用代码

    页面重定位: window.location.replace("http://www.bczs.net"); window.location.href = "http:/ ...

  6. Ubuntu配置TFTP服务器

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂.开销不大的文件传输服务 ...

  7. php 快速导出大量CSV文件

    原文链接 https://segmentfault.com/a/1190000005366832 /** * 导出excel(csv) * @data 导出数据 * @headlist 第一行,列名 ...

  8. Spring Boot 集成Angular程序

    假设 1.你已经完成了Spring Boot的示例,在浏览其中输入http://localhost:8080/index,能够返回html页面. 2.你已经完成了Angular程序,名字为quicks ...

  9. Java学习之Math类理解

    Math类包含用于几何和三角运算的所有浮点函数,以及一些用于通用目的的方法.Math类定义了两个double常量:E(约等于2.72)和PI(约等于3.14) 1.三角函数 表中的方法接收double ...

  10. 跟初学者学习IbatisNet第三篇

    这一章我们主要介绍一下IbatisNet里面的动态sql语句的运用,比如有时候我们想进行模糊查询,参数是动态加入的.或者要实现top n ,order by ,分页等功能的时候,我们就不得不用动态拼接 ...