1、文件默认权限:umask
新建一个新的文件或者是目录时,一般会有默认的权限,而这个默认权限与umask有关。umask就是指定“目前用户在新建文件或目录时的权限默认值。”
1.1查看umask:
(1)直接输入umask:可以查看数字形式的权限设置分数(会出现四组数字,第一组是特殊权限,后面三组是基本权限。)像例子中的umask值为0022。
***在新建“文件”时,默认没有执行(x)权限,只有r、w权限,即最大为666
***在新建“目录”时,默认有所有基本权限,即最大为777
而umask的分数是指“默认值需要减掉的权限”,新建文件/目录的特殊权限一般为0
所以:如下例,权限值为755 ,特殊权限为0 ,所以新建文件的umask为:0666-0644=0022
(2) 使用-S(Symbolic)参数:umask -S:可以以符号形式显示权限
如下例,权限值为755 ,特殊权限为0 ,所以新建目录的umask为:0777-0755=0022
1.2 设置umask
设置umask:直接在umask命令后输入umask值就可以了,如:umask 0002,设置后,在新建文件,会给属组填上可写的权限。
2、 文件隐藏属性chattr 、 lsattr
2.1 chatter(设置文件的隐藏属性)
参数 | 含义 |
- | 删除某个特殊参数,其他不动 |
+ | 增加某个特殊参数,其他不动 |
= | 总有后面接的参数 |
S | 对文件进行修改,该改动会“同步”写入磁盘中 |
a | 文件只能增加数据,而不能修改也不能删除数据,只有root才能设置该属性。 |
c | 会自动将文件压缩,在读取时会自动解压缩 |
d | 当dump程序被执行时,设置d属性,可使该文件或目录不会被dump备份 |
i | 可以让一个文件不能被删除,改名,设置连接也无法写入或添加数据,只有root才可设置 |
s | 如果文件被删除,将会完全在磁盘空间中删除 |
u | 与s相反,如果文件被删除,其数据内容还在磁盘空间中,可以找回该文件 |
A | 访问文件时,访问时间不会被修改。 |
(1)设置chattr:新建文件file3,设置chattr +i之后,连root都无法删除.
后面需要删除该文件时,可以用chattr -i去除该属性。
2.2 lsattr(显示文件隐藏属性)
-a | 将隐藏文件的属性也显示出来 |
-d | 如果接的是目录,仅列出目录本身的属性而非目录中的文件名 |
-R | 连同子目录的数据也一并列出来 |
eg:
3、文件特殊权限:SUID、SGID、SBIT
3.1 SUID
当s这个标志出现在文件所有者的x权限上时,如“-rwsr-xr-x"简称:Set UID
SUID权限仅对二进制程序有效
执行者对该程序需要具有x的可执行权限
执行者将具有该程序所有者的权限
本权限仅在执行该程序的过程中有效
3.2 SGID
SGID权限仅对二进制程序有效
程序执行者对于该程序来说,需要有x的执行权
执行者在执行过程中将会获得用户组的支持
3.3 SBIT
用户对该目录具有w、x权限
当用户在该目录下创建文件或是目录时,仅有自己和root才有权力删除该文件。
3.4 SUID、SGID、SBIT的权限设置
使用更改权限chmod的命令,使用数字更改,原本的权限是三组数字,要设置特殊权限,只需在加上一组数字即可。
SUID:4
SGID: 2
SBIT: 1
eg: 加上特殊权限SUID: chmod 4755 文件名
加上特殊权限SGID: chmod 2755 文件名
加上特殊权限SBIT: chmod 1755 文件名
加上特殊权限SUID和SGID: chmod 6755 文件名