为了容许添加数据,避免修改或则删掉等,文件和文件夹可以设定了特定的控制属性。比如,你可以在关键的系统文件或则文件夹中启用属性,之后没有任何用户linux追加文件,包括rootlinux串口驱动,可以删掉或则更改它,例如不容许使用像dump这样的命令等备份工具去备份一个特定的文件或则文件夹,等等。这种属性只可以在ext2,ext3或则ext4文件系统中的文件和文件夹上设定。

追加文件是什么意思_linux追加文件

有两个命令lsattr和chattr拿来管理属性。下边是常用属性的列表。

属性

描述

a(append)

准许在文件中进行追加操作

这个属性不容许更新文件的访问时间

linux追加文件_追加文件是什么意思

c(compressed)

启用这个属性时,文件在c盘上会手动压缩

d(dump)

不能使用dump命令备份文件

设置了文件夹的D属性时linux命令chm,修改会在同步保存在c盘上

e(extentformat)

它表明,该文件使用c盘上的块的映射扩充

i(immutable)

在文件上启用这个属性时,我们不能修改、重命名或则删掉这个文件

j(journaling)

设置了这个属性时,文件的数据首先保存在日志中,之后再写入文件

S(synchronous)

设置了这个属性时linux追加文件,变更或修改同步保存到c盘上

chattr属性中可以使用的不同选项:

追加文件是什么意思_linux追加文件

在chattr中用于设置或则取消属性的操作符

chattr和lsattr命令的基本句型:

# chattr   
# lsattr 

例:1使用‘i’属性使文件不可修改

[root@linuxtechi ~]# chattr +i dummy_data
[root@linuxtechi ~]# lsattr dummy_data
----i----------- dummy_data

如今试着删掉或则更改文件

[root@linuxtechi ~]# rm -f dummy_data
rm: cannot remove 'dummy_data': Operation not permitted
[root@linuxtechi ~]# echo "test" >> dummy_data
-bash: dummy_data: Permission denied

追加文件是什么意思_linux追加文件

例:2移除不可修改属性

[root@linuxtechi ~]# chattr -i dummy_data
[root@linuxtechi ~]# lsattr dummy_data
---------------- dummy_data

例:3在文件中只容许追加操作

[root@linuxtechi ~]# chattr +a dummy_data
[root@linuxtechi ~]# lsattr dummy_data
-----a---------- dummy_data

如今试着把fstab文件的内容追加到dummy_data文件

[root@linuxtechi ~]# cat /etc/fstab >> dummy_data
[root@linuxtechi ~]#

例:4使用-R选项和‘+i’属性使文件夹和它的子文件夹成为安全目录

追加文件是什么意思_linux追加文件

让我们来新建一个sysadmin文件夹和它的子文件夹

[root@linuxtechi ~]# mkdir sysadmin
[root@linuxtechi ~]# mkdir sysadmin/admim_{1,2,3,4,5}
[root@linuxtechi ~]# ls -l sysadmin/
total 0
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_1
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_2
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_3
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_4
drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_5

在sysadmin文件夹递归设置不可修改属性

[root@linuxtechi ~]# chattr -R +i sysadmin
[root@linuxtechi ~]# lsattr -R sysadmin/
----i----------- sysadmin/admim_1
sysadmin/admim_1:
----i----------- sysadmin/admim_2
sysadmin/admim_2:
----i----------- sysadmin/admim_3
sysadmin/admim_3:
----i----------- sysadmin/admim_4
sysadmin/admim_4:
----i----------- sysadmin/admim_5
sysadmin/admim_5:
[root@linuxtechi ~]#

如今试着用rm命令删掉文件夹

[root@linuxtechi ~]# rm -rf sysadmin
rm: cannot remove ‘sysadmin/admim_1’: Permission denied
rm: cannot remove ‘sysadmin/admim_2’: Permission denied
rm: cannot remove ‘sysadmin/admim_3’: Permission denied
rm: cannot remove ‘sysadmin/admim_4’: Permission denied
rm: cannot remove ‘sysadmin/admim_5’: Permission denied
[root@linuxtechi ~]#

使用以下命令递归取消属性

[root@linuxtechi ~]# chattr -R -i sysadmin

本文原创地址:https://www.linuxprobe.com/fzggwjhwjjky.html编辑:刘遄,审核员:暂无