Tag Archive: rm

一月 19th, 2017

在大多数情况下,我们习惯于使用 Delete 键、垃圾箱或 rm 命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的方法。

该文件只是对用户隐藏,它驻留在硬盘上的某个地方。它有可能被数据窃贼、执法取证或其它方式来恢复。

假设文件包含密级或机密内容,例如安全系统的用户名和密码,具有必要知识和技能的攻击者可以轻松地恢复删除文件的副本并访问这些用户凭证(你可以猜测到这种情况的后果)。

在本文中,我们将解释一些命令行工具,用于永久并安全地删除 Linux 中的文件。

1、 shred – 覆盖文件来隐藏内容

shred 会覆盖文件来隐藏它的内容,并且也可以选择删除它。

  1. $ shred -zvu -n 5 passwords.list

在下面的命令中,选项有:

  1. -z – 用零覆盖以隐藏碎片
  2. -v – 显示操作进度
  3. -u – 在覆盖后截断并删除文件
  4. -n – 指定覆盖文件内容的次数(默认值为3)

shred - 覆盖文件来隐藏它的内容

shred – 覆盖文件来隐藏它的内容

你可以在 shred 的帮助页中找到更多的用法选项和信息:

  1. $ man shred

2、 wipe – 在 Linux 中安全删除文件

wipe 命令可以安全地擦除磁盘中的文件,从而不可能恢复删除的文件或目录内容。

首先,你需要安装 wipe 工具,运行以下适当的命令:

  1. $ sudo apt-get install wipe [Debian 及其衍生版]
  2. $ sudo yum install wipe [基于 RedHat 的系统]

下面的命令会销毁 private 目录下的所有文件。

  1. $ wipe -rfi private/*

当使用下面的标志时:

  1. -r – 告诉 wipe 递归地擦除子目录
  2. -f – 启用强制删除并禁用确认查询
  3. -i – 显示擦除进度

wipe – 在 Linux 中安全擦除文件

wipe – 在 Linux 中安全擦除文件

注意:wipe 仅可以在磁性存储上可以可靠地工作,因此对固态磁盘(内存)请使用其他方法。

阅读 wipe 手册以获取其他使用选项和说明:

  1. $ man wipe

3、 Linux 中的安全删除工具集

secure-delete 是一个安全文件删除工具的集合,它包含用于安全删除文件的 srm(secure_deletion)工具。

首先,你需要使用以下相关命令安装它:

  1. $ sudo apt-get install secure-delete [Debian 及其衍生版]
  2. $ sudo yum install secure-delete [基于 RedHat 的系统]

安装完成后,你可以使用 srm 工具在 Linux 中安全地删除文件和目录。

  1. $ srm -vz private/*

下面是使用的选项:

  1. -v – 启用 verbose 模式
  2. -z – 用0而不是随机数据来擦除最后的写入

srm – 在 Linux 中安全删除文件

srm – 在 Linux 中安全删除文件

阅读 srm 手册来获取更多的使用选项和信息:

  1. $ man srm

4、 sfill -安全免费的磁盘 / inode 空间擦除器

sfill 是 secure-deletetion 工具包的一部分,是一个安全免费的磁盘和 inode 空间擦除器,它以安全的方法删除可用磁盘空间中的文件。 sfill 会检查指定分区上的可用空间,并使用来自 /dev/urandom 的随机数据填充它。

以下命令将在我的根分区上执行 sfill,使用 `-v’ 选项启用 verbose 模式:

  1. $ sudo sfill -v /home/aaronkilik/tmp/

假设你创建了一个单独的分区 /home 来存储正常的系统用户主目录,你可以在该分区上指定一个目录,以便在其上应用 sfill

  1. $ sudo sfill -v /home/username

你可以在 sfill 的手册上看到一些限制,你也可以看到额外的使用标志和命令:

  1. $ man sfill

注意:secure-deletetion 工具包中的另外两个工具(sswapsdmem)与本指南的范围不直接相关,但是,为了将来的使用和传播知识的目的,我们会在下面介绍它们。

5、 sswap – 安全 swap 擦除器

它是一个安全的分区擦除器,sswap 以安全的方式删除 swap 分区上存在的数据。

警告:请记住在使用 sswap 之前卸载 swap 分区! 否则你的系统可能会崩溃!

要找到交换分区(并检查分页和交换设备/文件是否已经使用,请使用 swapon 命令),接下来,使用 swapoff 命令禁用分页和交换设备/文件(使 swap 分区不可用)。

然后在(关闭的) swap 分区上运行 sswap 命令:

  1. $ cat /proc/swaps
  2. $ swapon
  3. $ sudo swapoff /dev/sda6
  4. $ sudo sswap /dev/sda6 #这个命令要花费一些时间,默认要进行 38 遍擦除

sswap – 安全 swap 擦除器

sswap – 安全 swap 擦除器

阅读 sswap 的手册来获取更多的选项和信息:

  1. $ man sswap

6、 sdmem – 安全内存擦除器

sdmem 是一个安全的内存擦除器,其设计目的是以安全的方式删除存储器(RAM)中的数据。

它最初命名为 smem,但是因为在 Debain 系统上存在另一个包 smem – 报告每个进程和每个用户的内存消耗,开发人员决定将它重命名为 sdmem

  1. $ sudo sdmem -f -v

关于更多的使用信息,阅读 sdmen 的手册:

  1. $ man sdmem
TAGS: ,
七月 29th, 2016

Linux 中rm命令是常用的命令之一,该命令的功能是删除一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm同样是一个危险的命令,使用时候要特别当心,比如你在根目录”/”下执行rm -rf *,那么整个系统就会毁在这个命令上.

命令格式 :  rm  [option] …file…

命令功能 :  删除一个或多个文件或目录,删除目录需要使用-r选项.

命令参数 :

-f/–force         强制删除不提示

-i/–interactive    进行交互式删除

-r/-R/–recursive   递归删除整个目录

-v/–verbose      详细显示进行的步骤

–help           显示此帮助信息并退出

–version         输出版本信息并退出

 

常见实例 :

<1>删除文件test

[root@sqj home]# rm test

rm: remove regular empty file `test’? y

这里是因为别名缘故”alias rm=’rm -i’”,所以直接是rm命令也会进行交互式删除提示.

 

<2>删除目录

语法 : rm -r directory(目录名)

注意:这里目录最好填写绝对路径,若该目录中文件过多(交互式太过繁琐),可以加上”-f”选项.

 

<3>删除相应目录下所有数据或*.log(以”.log”结尾的文件)

语法 : rm -rf * 或者 rm -rf *.log

 

<4>目录下文件数过多,无法使用rm 删除所有文件.

语法 : ls | xargs rm -rf

注意: 同样可以直接跳出直接删除该目录,然后在创建该目录.也可以切入该目录,使用” ls | xargs rm -rf ”进行删除所有文件.

TAGS: ,
六月 21st, 2015

rm*删除文件数过多出错/bin/rm:Argument list too long的解决

Linux 系统中当单个目录中文件数过多时,试图用 rm * 来删除所有文件会报错 /bin/rm: Argument list too long.

据说这是因为 Linux 内核中所有 exec 系函数(execl, execlp, execle 等)最终调用的都是 execve() , 而execve 是通过一块 128k 的内存空间来保存用以传递给新进程的命令参数和环境变量。当像 rm 这些命令产生的命令行参数超过 128k 的时候, Linux kernel 就报 E2BIG 错误了。

阅读全文 >>

TAGS: ,