首页 帮助中心 美国云服务器 防止root用户删除文件和目录的策略
防止root用户删除文件和目录的策略
时间 : 2024-12-17 11:18:58 编辑 : 华纳云 阅读量 : 47

在类Unix操作系统含linux中,root默认可以修改系统上全部目录和文件的账户或用户名。但有些时候为保护重要文件,可能会需要设置重要文件或目录不被意外删除,即便是系统上超级用户或根用户也无法删除。下面华纳云将分享关于文件和目录无法删除的教程,即便是最强大的root用户也无法删除。

使用chattr命令可使目录/文件不可修改,该命令可以更改linux文件系统上或目录的属性。以下命令使/backups/passwd文件不可变(或不可删除)。这意味着该文件不能以任何方式修改:不能删除或重命名。您甚至不能创建指向它的链接,也不能将任何数据写入该文件。

chattr的基本用法:

# chattr [operator] [flags] [filename]

注意这种命令需要有超级用户权限才可以,用sudo命令设置或删除此属性:

sudo chattr +i /backups/passwd

或者

sudo chattr +i -V /backups/passwd

查看文件的属性,需要使用lsattr命令:

lsattr /backups/passwd

设置完成后,可以尝试使用普通用户身份或者root身份使用rm命令删除不可文件:

rm /backups/passwd

sudo rm /backups/passwd

如果想在linux总使用递归的目录不可删除,用R选项可递归更改目录及其内容的属性:

sudo chattr +i -RV /backups/  

要让文件再次可变,可以使用i符合删除上述属性:

sudo chattr -i /backups/ passwd

chattr命令用于设置/取消设置linux系统中文件的某些属性,可以避免意外删除或者修改重要文件,即便是以root身份登录。

Linux的原生文件系统支持多种文件属性标志,但这些标志不一定适用于非原生文件系统。通过chattr命令设置文件或目录的属性后,即使用户有最高权限,也无法对其进行删除或修改。这对于设置含用户信息的系统文件的属性而言非常有用。

chattr命令用于设置Linux文件系统的属性,如防止文件被修改、同步更新、追加写入、不可变、日志更新、无合并、备份排除和删除恢复等。下面是设置/取消文件和文件夹的属性的chattr命令示例。

为了演示,我们使用了文件夹“demo”和文件“important_file.conf”。在设置属性前,请用“ls -l”检查它们是否已有属性,结果显示目前无任何属性设置。

[root@tecmint tecmint]# ls -l

total 0

drwxr-xr-x. 2 root root 6 Aug 31 18:02 demo

-rwxrwxrwx. 1 root root 0 Aug 31 17:42 important_file.conf

要设置文件属性,使用`chattr +`,取消则用`chattr -`。例如,用`chattr +i`给文件添加不可变属性,防止包括root用户在内的任何人删除文件。

[root@tecmint tecmint]# chattr +i demo/

[root@tecmint tecmint]# chattr +i important_file.conf

不可变+i只能由超级用户或具有sudo权限用户设置,设置后用lsattr验证同上。更多内容在华纳云在官网继续为大家分享。

华纳云 推荐文章
最适合老旧硬件的Linux操作系统 Docker容器中如何设置apache Web服务器 awk和正则表达式过滤文本 ipcalc工具用于IP子网管理与计算 Linux中添加大于2TB的新磁盘的方法有哪些 Linux中systemd服务和单元的解读 用fswatch跟踪linux中文件和目录更改 直接从硬盘运行Linux发行版的方法 用Yum删除具依赖关系的软件包的方法 用sysctl命令修改Linux内核变量的步骤
客服咨询
7*24小时技术支持
技术支持
渠道支持