——文件的默认权限
默认权限与umask有关,umask就是指定 “目前使用者在创建文件或目录的时候的权限默认值”。通过以下命令来查看umsak的值:
[root@study fshiyu]# umask
0022
[root@study fshiyu]# umask -S
u=rwx,g=rx,o=rx
umask四个数字中的第一个数字是特殊权限用的(这里不讨论),看后三位即可。
使用者创建“文件”默认是没有执行的权限的(即666);创建“目录”默认是拥有所有权限的(即777)。
mask的分数指的是,创建文件或目录时上面默认值需要去掉的权限(即----w--w-)。
创建文件时:(rw-rw-rw-) - (----w--w-) ==> (rw-r--r--)
创建目录时:(rwxrwxrwx) - (----w--w-) ==> (rwxr-xr-x)
例如如下:
[root@study fshiyu]# umask
0022
[root@study fshiyu]# touch test1;mkdir test2;ll -d test*
-rw-r--r--. 1 root root 0 11月 11 10:37 test1
drwxr-xr-x. 2 root root 6 11月 11 10:37 test2
如何指定umask的值呢?只需要在umask后面接上分数就好了。
[root@study fshiyu]# umask 002
[root@study fshiyu]# touch test3;mkdir test4;ll -d test[34] # []中的数字代表test后接3或4
-rw-rw-r--. 1 root root 0 11月 11 10:46 test3
drwxrwxr-x. 2 root root 6 11月 11 10:46 test4
——文件的隐藏属性
chattr(设置文件隐藏属性):
[root@study fshiyu]# chattr [+-=][ASacdistu] 文件或目录名称
选项与参数:
+ :增加某一个特殊参数,其他原本存在参数则不动。
- :移除某一个特殊参数,其他原本存在参数则不动。
= :设置一定,且仅有后面接的参数
A :当设置了 A 这个属性时,若有存取此文件(或目录)时,他的存取时间 atime 将不会被修改,
可避免 I/O 较慢的机器过度的存取磁盘。(目前建议使用文件系统挂载参数处理这个项目)
S :一般文件是非同步写入磁盘的,如果加上 S 这个属性时,当进行任何文件的修改,该更动会“同步”写入磁盘中。
a :当设置 a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root 才能设置这属性
c :这个属性设置之后,将会自动的将此文件“压缩”,在读取的时候将会自动解压缩,
但是在储存的时候,将会先进行压缩后再储存(看来对于大文件似乎蛮有用的!)
d :当 dump 程序被执行的时候,设置 d 属性将可使该文件(或目录)不会被 dump 备份
i :他可以让一个文件“不能被删除、改名、设置链接,也无法写入或新增数据”,对于系统安全性有相当大的助益!只有 root 能设置此属性。
s :当文件设置了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,所以如果误删了,完全无法救回来!
u :与 s 相反的,当使用 u 来设置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中,可以使用来救援该文件!
注意1:属性设置常见的是 a 与 i 的设置值,而且很多设置值必须要身为 root 才能设置
注意2:xfs 文件系统仅支持 AadiS 而已
例如:
[root@study tmp]# touch chattrtest # 创建空文件
[root@study tmp]# chattr +i chattrtest
[root@study tmp]# rm chattrtest
rm:是否删除普通空文件 "chattrtest"?y
rm: 无法删除"chattrtest": 不允许的操作
[root@study tmp]# chattr -i chattrtest
lsattr(显示文件隐藏属性):
[root@study fshiyu]# lsattr [-adR] 文件或目录
选项与参数:
-a :将隐藏文件的属性也展示出来;
-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
-R :连同子目录的数据也一并列出来!
例如:
[root@study tmp]# chattr +aiS chattrtest
[root@study tmp]# lsattr chattrtest
--S-ia---------- chattrtest