位置: 编程技术 - 正文

在云端的Linux服务器上加密文件系统的方法(linux在云计算中的使用)

编辑:rootadmin

推荐整理分享在云端的Linux服务器上加密文件系统的方法(linux在云计算中的使用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux云服务器,linux云端服务器,linux 云主机,linux云存储,linux在云计算中的使用,linux云服务器怎么进入桌面,linux云服务器怎么用,linux云端服务器,内容如对您有帮助,希望把文章链接给更多的朋友!

Amazon S3 和 Google Cloud Storage 之类的商业云存储服务以能承受的价格提供了高可用性、可扩展、无限容量的对象存储服务。为了加速这些云产品的广泛采用,这些提供商为他们的产品通过明确的 API 和 SDK 培养了一个良好的开发者生态系统。而基于云的文件系统便是这些活跃的开发者社区中的典型产品,已经有了好几个开源的实现。

S3QL 便是最流行的开源云端文件系统之一。它是一个基于 FUSE 的文件系统,提供了好几个商业或开源的云存储后端,比如 Amazon S3、Google Cloud Storage、Rackspace CloudFiles,还有 OpenStack。作为一个功能完整的文件系统,S3QL 拥有不少强大的功能:最大 2T 的文件大小、压缩、UNIX 属性、加密、基于写入时复制的快照、不可变树、重复数据删除,以及软、硬链接支持等等。写入 S3QL 文件系统任何数据都将首先被本地压缩、加密,之后才会传输到云后端。当你试图从 S3QL 文件系统中取出内容的时候,如果它们不在本地缓存中,相应的对象会从云端下载回来,然后再即时地解密、解压缩。需要明确的是,S3QL 的确也有它的限制。比如,你不能把同一个 S3FS 文件系统在几个不同的电脑上同时挂载,只能有一台电脑同时访问它。另外,ACL(访问控制列表)也并没有被支持。

在这篇教程中,我将会描述“如何基于 Amazon S3 用 S3QL 配置一个加密文件系统”。作为一个使用范例,我还会说明如何在挂载的 S3QL 文件系统上运行 rsync 备份工具。准备工作

本教程首先需要你创建一个 Amazon AWS 帐号(注册是免费的,但是需要一张有效的信用卡)。

然后 创建一个 AWS access key(access key ID 和 secret access key),S3QL 使用这些信息来访问你的 AWS 帐号。

之后通过 AWS 管理面板访问 AWS S3,并为 S3QL 创建一个新的空 bucket。

为最佳性能考虑,请选择一个地理上距离你最近的区域。

在 Linux 上安装 S3QL

在大多数 Linux 发行版中都有预先编译好的 S3QL 软件包。对于 Debian、Ubuntu 或 Linux Mint:

复制代码代码如下:$ sudo apt-get install s3ql

对于 Fedora:

复制代码代码如下:$ sudo yum install s3ql

对于 Arch Linux,使用 AUR。首次配置 S3QL

在 ~/.s3ql 目录中创建 autoinfo2 文件,它是 S3QL 的一个默认的配置文件。这个文件里的信息包括必须的 AWS access key,S3 bucket 名,以及加密口令。这个加密口令将被用来加密一个随机生成的主密钥,而主密钥将被用来实际地加密 S3QL 文件系统数据。

复制代码代码如下:$ mkdir ~/.s3ql $ vi ~/.s3ql/authinfo2</p><p> [s3] storage-url: s3://[bucket-name] backend-login: [your-access-key-id] backend-password: [your-secret-access-key] fs-passphrase: [your-encryption-passphrase]

指定的 AWS S3 bucket 需要预先通过 AWS 管理面板来创建。

为了安全起见,让 authinfo2 文件仅对你可访问。

复制代码代码如下:$ chmod ~/.s3ql/authinfo2

创建 S3QL 文件系统

现在你已经准备好可以在 AWS S3 上创建一个 S3QL 文件系统了。

使用 mkfs.s3ql 工具来创建一个新的 S3QL 文件系统。这个命令中的 bucket 名应该与 authinfo2 文件中所指定的相符。使用“--ssl”参数将强制使用 SSL 连接到后端存储服务器。默认情况下,mkfs.s3ql 命令会在 S3QL 文件系统中启用压缩和加密。

复制代码代码如下:$ mkfs.s3ql s3://[bucket-name] --ssl

你会被要求输入一个加密口令。请输入你在 ~/.s3ql/autoinfo2 中通过“fs-passphrase”指定的那个口令。

如果一个新文件系统被成功创建,你将会看到这样的输出:

挂载 S3QL 文件系统

在云端的Linux服务器上加密文件系统的方法(linux在云计算中的使用)

当你创建了一个 S3QL 文件系统之后,下一步便是要挂载它。

首先创建一个本地的挂载点,然后使用 mount.s3ql 命令来挂载 S3QL 文件系统。

复制代码代码如下:$ mkdir ~/mnt_s3ql $ mount.s3ql s3://[bucket-name] ~/mnt_s3ql

挂载一个 S3QL 文件系统不需要特权用户,只要确定你对该挂载点有写权限即可。

视情况,你可以使用“--compress”参数来指定一个压缩算法(如 lzma、bzip2、zlib)。在不指定的情况下,lzma 将被默认使用。注意如果你指定了一个自定义的压缩算法,它将只会应用到新创建的数据对象上,并不会影响已经存在的数据对象。

复制代码代码如下: $ mount.s3ql --compress bzip2 s3://[bucket-name] ~/mnt_s3ql

因为性能原因,S3QL 文件系统维护了一份本地文件缓存,里面包括了最近访问的(部分或全部的)文件。你可以通过“--cachesize”和“--max-cache-entries”选项来自定义文件缓存的大小。

如果想要除你以外的用户访问一个已挂载的 S3QL 文件系统,请使用“--allow-other”选项。

如果你想通过 NFS 导出已挂载的 S3QL 文件系统到其他机器,请使用“--nfs”选项。

运行 mount.s3ql 之后,检查 S3QL 文件系统是否被成功挂载了:

复制代码代码如下: $ df ~/mnt_s3ql $ mount | grep s3ql

卸载 S3QL 文件系统

想要安全地卸载一个(可能含有未提交数据的)S3QL 文件系统,请使用 umount.s3ql 命令。它将会等待所有数据(包括本地文件系统缓存中的部分)成功传输到后端服务器。取决于等待写的数据的多少,这个过程可能需要一些时间。

复制代码代码如下:$ umount.s3ql ~/mnt_s3ql

查看 S3QL 文件系统统计信息及修复 S3QL 文件系统

若要查看 S3QL 文件系统统计信息,你可以使用 s3qlstat 命令,它将会显示诸如总的数据、元数据大小、重复文件删除率和压缩率等信息。

复制代码代码如下:$ s3qlstat ~/mnt_s3ql

你可以使用 fsck.s3ql 命令来检查和修复 S3QL 文件系统。与 fsck 命令类似,待检查的文件系统必须首先被卸载。

复制代码代码如下:$ fsck.s3ql s3://[bucket-name]

S3QL 使用案例:Rsync 备份

让我用一个流行的使用案例来结束这篇教程:本地文件系统备份。为此,我推荐使用 rsync 增量备份工具,特别是因为 S3QL 提供了一个 rsync 的封装脚本(/usr/lib/s3ql/pcp.py)。这个脚本允许你使用多个 rsync 进程递归地复制目录树到 S3QL 目标。

复制代码代码如下: $ /usr/lib/s3ql/pcp.py -h

下面这个命令将会使用 4 个并发的 rsync 连接来备份 ~/Documents 里的所有内容到一个 S3QL 文件系统。

复制代码代码如下:$ /usr/lib/s3ql/pcp.py -a --quiet --processes=4 ~/Documents ~/mnt_s3ql

这些文件将首先被复制到本地文件缓存中,然后在后台再逐步地同步到后端服务器。

Linux安装使用Axel以便加速下载大文件 当文件太大的时候可采用分段下载,加快下载速度,Axel软件就有这样的功能,今天小编要给大家介绍的是Axel在Linux各系统的安装及使用,不同的Linux版

Linux通过netstat命令查看端口连接数的方法 Linux系统下netstat命令的用法有很多,能够列出所有端口,显示当前UDP连接状况,今天小编要给大家介绍的是Linux使用netstat命令查看端口连接数的方法,

使用sysdig监控和排除Linux系统服务器故障的方法 当你需要追踪某个进程产生和接收的系统调用时,首先浮现在你脑海中的是什么?你可能会想到strace,那么你是对的。你会使用什么样的命令行工具来

标签: linux在云计算中的使用

本文链接地址:https://www.jiuchutong.com/biancheng/366868.html 转载请保留说明!

上一篇:Linux中升级更新命令yum upgrade和yum update的区别(linux 系统升级)

下一篇:Linux安装使用Axel以便加速下载大文件(linux安装.sh)

  • PHP数据库操作二:memcache用法分析(php数据库编程)

    PHP数据库操作二:memcache用法分析(php数据库编程)

  • PHP编写学校网站上新生注册登陆程序的实例分享(php网页编程)

    PHP编写学校网站上新生注册登陆程序的实例分享(php网页编程)

  • 教你如何看懂SQL Server查询计划(教你如何看懂标签)

    可以从图片上看到,执行查询后,得到二个表格,上面的表格显示了查询的结果,下面的表格显示了查询的执行过程。相比本文的第一张图片,这张图片可能在直观上不太友好,但是,它能反映更多的信息,而且尤其在比较复杂的查询时,可能看起来更容易,因为对于复杂的查询,【执行计划】的步骤太多,图形方式会造成图形过大,不容易观察。而且这张执行过程表格能反映2个很有价值的数据(前二列)。

    还是来看看这个【执行过程表格】吧。我来挑几个重要的说一下。【Rows】:表示在一个执行步骤中,所产生的记录条数。(真实数据,非预期)【Executes】:表示某个执行步骤被执行的次数。(真实数据,非预期)【Stmt Text】:表示要执行的步骤的描述。【EstimateRows】:表示要预期返回多少行数据。

    在这个【执行过程表格】中,对于优化查询来说,我认为前三列是比较重要的。对于前二列,我上面也解释了,意思也很清楚。前二列的数字也大致反映了那些步骤所花的成本,对于比较慢的查询中,应该留意它们。【Stmt Text】会告诉你每个步骤做了什么事情。对于这种表格,它所要表达的其实是一种树型信息(一行就表示在图形方式下的一个节点),所以,我建议从最内层开始去读它们。做为示例,我来解释一下这张表格它所表达的执行过程。

    第5行:【Clustered Index Seek(OBJECT:([MyNorthwind].[dbo].[Customers].[PK_Customers]), SEEK:([MyNorthwind].[dbo].[Customers].[CustomerID]=[MyNorthwind].[dbo].[Orders].[CustomerID]) ORDERED FORWARD)】,意思是说,SQL Server在对表Customers做Seek操作,而且是按照【Clustered Index Seek】的方式,对应的索引是【PK_Customers】,seek的值来源于[Orders].[CustomerID]

    第4行:【Clustered Index Scan(OBJECT:([MyNorthwind].[dbo].[Orders].[PK_Orders]), WHERE:([MyNorthwind].[dbo].[Orders].[OrderDate]>='-- ::." class="img-responsive" alt="教你如何看懂SQL Server查询计划(教你如何看懂标签)">

    教你如何看懂SQL Server查询计划(教你如何看懂标签)

  • 在vs2008+Vista中DirectShow的使用(vs2008如何使用)

    在vs2008+Vista中DirectShow的使用(vs2008如何使用)

  • Linux chmod命令修改文件与文件夹权限的命令附实例(linux里chmod)

    Linux chmod命令修改文件与文件夹权限的命令附实例(linux里chmod)

  • Win10系统本地用户如何改为用Micrososft用户登录?(win10系统本地用户和组怎么添加)

    Win10系统本地用户如何改为用Micrososft用户登录?(win10系统本地用户和组怎么添加)

  • 小结Node.js中非阻塞IO和事件循环(node.js基本语法)

    小结Node.js中非阻塞IO和事件循环(node.js基本语法)

  • 企业所得税减免所得税额计算公式
  • 固定资产清理借方余额是加还是减
  • 已执行新金融准则利润表如何填列
  • 百分百控股的企业是否负连带责任
  • 零申报资产负债表年初与期末数
  • 一季度计提的所得税分录
  • 银行开户费用计入
  • 农户的竹扫把如何开票
  • 企业退回企业所得税分录
  • 捆绑销售行为怎么纳税
  • 小微企业增值税免税政策2023年
  • 上一年度凭证不填可以吗
  • 预付款什么时候确认收入
  • 最新契税优惠政策公告财政部
  • 纳税人如何网上申请预填报服务
  • 交强险 收费
  • 资产处置损益借贷方向表示什么
  • 企业法人的工资没有实收可以退税吗
  • 小规模税收减免
  • 计算应纳税所得额时可以扣除的项目有
  • 生物资产全套账务处理
  • 去年的发票今年能用吗
  • 驱动备份和还原工具软件有哪些
  • 其他应付款冲回计入哪个科目
  • 呆账催讨原则是谁提出的
  • 建筑业销项税和进项税计算
  • 电脑的c盘变红怎么回事
  • 关闭bios启动
  • sessmgr.exe - sessmgr是什么进程 有什么用
  • 股权转让的不仅是权利还有义务
  • 废品损失的核算方式主要有
  • element ui+vue
  • 数据库olap
  • 辞退补偿款怎么算
  • 经营租赁固定资产体现实质重于形式
  • 微无界是什么软件
  • 商业零售企业存货非正常损失
  • 浅谈PHP发送HTTP请求的几种方式
  • 预提的奖金能不能提前申报个税
  • js数组常用方法有哪几种
  • 瑞吉接送
  • 印花税应计入什么
  • 小规模纳税人定义标准
  • php sleep()
  • python如何访问私有方法
  • 广播影视服务税率2023
  • 公司安排异地培训
  • 金税盘怎么看税收编码版本号
  • 材料成本差异的超支与节约
  • sqlserver存储过程语法
  • access日期时间格式怎么修改
  • sqlserver存储过程加密
  • 小规模教育培训怎样纳税
  • 建筑租赁公司是什么意思
  • 出库成本会计分录
  • 可供出售金融资产公允价值变动
  • 房地产企业沙盘模拟
  • 股东分红的会计分录怎么做
  • 挂其他应付款的帐怎么冲平
  • 收到货款就必须付货款吗
  • 软件生产企业培训内容
  • 存在弃置费用的固定资产例题
  • 企业经营规模小怎么办
  • 我的发票查询
  • 新开办企业如何建账
  • windows启动失败是怎么回事
  • 提高系统能力
  • 进程audiodg.exe
  • win10系统怎么快速启动
  • win8使用技巧 图文
  • cmd命令进行ftp下载文件夹
  • 服务器自动关机什么原因
  • vlc录制没反应
  • unity工程文件怎么弄
  • 用python编写脚本
  • jquery自定义函数
  • SQLite之SQLiteStatement
  • 个税纳税证明在哪里开
  • 信托公司抵押房能买吗
  • 湖南地税局客服电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设