如何在Linux系统中禁用文件和目录的删除权限?
很多时候,可能会意外删除文件或目录。这可能导致重要数据丢失或系统配置错误,因此我们需要一种方法来阻止意外删除文件和目录。这可能并不适用于所有文件和目录,但我们可以设计一种方案,至少可以防止某些文件和目录出现这种情况。
我们使用更改属性命令来防止这种情况,下面我们将看到如何将此命令应用于两个文件和目录。
语法
以下是更改属性命令的语法。
chattr [operator] [flag] [filename] Where the operator can be ‘+’ , ‘-‘ or ‘=’ . And flag can be set to i to make the file immutable.
现在,让我们首先调查一下目录及其中的文件的现有属性。我们看到它们是普通文件,可以重写和删除。
~/Documents/tutorials$ pwd ; ls -l /home/ubuntu/Documents/tutorials total 4 drwxrwxr-x 2 ubuntu ubuntu 4096 Dec 31 21:13 linux ~/Documents/tutorials$ lsattr -------------e-- ./linux ~/Documents/tutorials$ cd linux/ ~/Documents/tutorials/linux$ lsattr -------------e-- ./passwd_bkup.txt -------------e-- ./movie_list.txt
现在,我们应用“i”标志使其中一个文件不可变,以便无法删除它。
$ sudo chattr +i passwd_bkup.txt [sudo] password for ubuntu: $ lsattr ----i--------e-- ./passwd_bkup.txt -------------e-- ./movie_list.txt
正如您所看到的,passwd_bkup.txt 文件现在具有 i 文件属性。现在让我们尝试删除此文件。具有 I 属性的文件不会被删除,而其他文件将被删除。
$ rm -rf passwd_bkup.txt rm: cannot remove 'passwd_bkup.txt': Operation not permitted # Other file gets deleted. $ rm -rf movie_list.txt $ lsattr ----i--------e-- ./passwd_bkup.txt
现在,包含此文件的目录也不会被删除,因为它不能变空。
$ rm -rf linux/ rm: cannot remove 'linux/passwd_bkup.txt': Operation not permitted
广告