近来,项目中须要完成这样的一个任务:须要挂在一个c盘,在这个c盘中储存一个文件,不仅这种文件之外,我们希望该c盘的其他部份都被随机数据填充-----我们不想在这个c盘上linux 版本,不仅该文件外就能储存其他文件,也不希望留给敌手储存其他文件的空间。
看法
我的看法是:
先创建一个文件夹,限制该文件夹的大小。实现方法就是,创建一个20M大小的c盘镜像,挂载到文件夹下,这样这个文件夹的大小就限制死了。对该文件,先填充自己须要的文件。填充好必须的,自己须要的文件后,开始填充乱码。
实现方法如下:
借助/dev/urandom进行低格
/dev/urandom,它是“随机数设备”,它的本领就是可以生成理论意义上的随机数。
假如我们想消除硬碟里的个别绝密数据,就可以使用/dev/urandom这个随机数生成器来形成随机数据linux磁盘分区命令linux安全加固,讲到c盘上,以确保将c盘原始数据完全覆盖掉。
dd if=/dev/urandom of=/dev/sdav
dd可从标准输入或文件中读取数据,按照指定的格式来转换数据,再输出到文件、设备或标准输出。
参数说明:
怎样限制文件夹大小
Linux上有时因为一些特殊的用途,我们须要限制一个文件夹的大小。核心技巧都是把须要限制的文件夹挂载在一个大小固定的分区上。
我们可以使用镜像文件挂载的形式
# 生成一个10M的文件
dd if=/dev/zero of=disk.img bs=1M count=10
# 把生成的文件虚拟为块设备
losetup /dev/loop0 disk.img
# 格式化设备
mkfs.ext4 /dev/loop0
# 挂载
mount disk.img testdir
# 卸载
umount testdit
# 卸载loop设备与文件的关联
losetup -d /dev/loop0
实践用例:
# 创建了一个大小为20M的磁盘镜像
root@cchui-virtual-machine:~# dd if=/dev/zero of=/root/disk.img bs=2M count=10
记录了10+0 的读入
记录了10+0 的写出
20971520 bytes (21 MB, 20 MiB) copied, 0.13234 s, 158 MB/s
--------------------------------------------------------------------------------
# 挂载为设备
root@cchui-virtual-machine:~# losetup /dev/loop0 /root/disk.img
--------------------------------------------------------------------------------
# 格式化设备
root@cchui-virtual-machine:~# mkfs.ext3 /dev/loop0
mke2fs 1.44.1 (24-Mar-2018)
丢弃设备块: 完成
创建含有 20480 个块(每块 1k)和 5136 个inode的文件系统
文件系统UUID:75fe11a2-e627-4def-a5e8-042d2ffa3b5d
超级块的备份存储于下列块:
8193
正在分配组表: 完成
正在写入inode表: 完成
创建日志(1024 个块) 完成
写入超级块和文件系统账户统计信息: 已完成
--------------------------------------------------------------------------------
# 挂载为文件夹
root@cchui-virtual-machine:~# mkdir agent
root@cchui-virtual-machine:~# mount -t ext3 /dev/loop0 /root/agent/
查看文件夹大小linux磁盘分区命令,查看c盘大小的Linux命令:
df -h
c盘填充
开始填充前:
root@cchui-virtual-machine:~# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 40G 20G 18G 53% /
......
/dev/loop0 19M 179K 18M 2% /root/agent ###挂载的磁盘
root@cchui-virtual-machine:~/agent# ls ####磁盘下的文件和目录
copyrightDemo.sol lost+found
开始填充:
root@cchui-virtual-machine:~/agent# dd if=/dev/urandom of=/root/agent/test.txt
dd: 正在写入'/root/agent/test.txt': 设备上没有空间
记录了37101+0 的读入
记录了37100+0 的写出
18995200 bytes (19 MB, 18 MiB) copied, 0.620289 s, 30.6 MB/s
填充后:
root@cchui-virtual-machine:~# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 40G 20G 18G 53% /
......
/dev/loop0 19M 19M 0 100% /root/agent ##该磁盘以及被填充满了
root@cchui-virtual-machine:~/agent# ls
copyrightDemo.sol lost+found test.txt ## test.txt 文件里面是乱码
参考