Hello! 欢迎来到小浪云!


Linux如何防止文件误删


Linux如何防止文件误删

Linux操作系统中,避免文件误删是保护数据的重要步骤。以下是几种有效的方法来实现这一目标:

1. 利用trash-cli工具

trash-cli是一个命令行程序,它能将文件移至回收站而非彻底删除,这使得误删的文件有机会被找回。

trash-cli的安装

sudo apt-get install trash-cli  # 对于Debian/Ubuntu系统 sudo yum install trash-cli      # 适用于centos/RHEL系统 sudo dnf install trash-cli      # 用于Fedora系统

trash-cli的实际应用

trash /path/to/file  # 将指定文件移至回收站 ls ~/.local/share/Trash/files  # 查看回收站里的文件 restore ~/.local/share/Trash/files/file_name  # 还原文件

2. 应用lsof工具

lsof(List Open Files)能够展示所有正在使用的文件,即便它们已被删除但仍在被某些进程占用。此工具有助于预防误删情况的发生。

lsof的安装

sudo apt-get install lsof  # Debian/Ubuntu sudo yum install lsof      # CentOS/RHEL sudo dnf install lsof      # Fedora

lsof的使用示例

lsof | grep deleted  # 查找已被删除却仍被占用的文件

3. 使用inotifywait监控

inotifywait属于inotify-tools套件的一部分,它可用于实时监控文件系统的变动。对特定目录进行监控后,当有文件被删除时会即时收到警报。

inotify-tools的安装

sudo apt-get install inotify-tools  # Debian/Ubuntu sudo yum install inotify-tools      # CentOS/RHEL sudo dnf install inotify-tools      # Fedora

inotifywait的具体用法

inotifywait -m /path/to/directory -e delete | while read path action file; do     echo "File $file was deleted from $path"     # 可在此处加入自定义的操作,例如发送警告信息 done

4. 定期利用rsync进行备份

借助rsync定期将关键数据备份到安全位置,一旦发生误删,便可以从备份中轻松恢复丢失的内容。

rsync备份命令

rsync -av --delete /path/to/source /path/to/backup

5. 调整文件系统权限

合理配置文件系统权限,阻止未授权用户对文件的删除操作。

文件权限调整命令

chmod 755 /path/to/file  # 设定文件为可读、可执行但不可写入状态 chown user:group /path/to/file  # 修改文件的所有权与所属组

6. 部署SELinux或AppArmor

SELinux和AppArmor均为Linux的安全扩展模块,它们能够严格控制各进程的访问权限,从而减少误删风险。

SELinux的配置

sudo setenforce 1  # 开启SELinux功能 sudo semanage fcontext -a -t user_home_t "/path/to/file" sudo restorecon -v /path/to/file

AppArmor的启用

sudo aa-enforce /etc/apparmor.d/usr.sbin.httpd  # 执行AppArmor规则

采用上述策略,可以显著降低文件误删的可能性,保障系统内数据的安全稳定。

相关阅读