Linux学习:用户权限2:特殊权限

1、文件默认权限:umask

新建一个新的文件或者是目录时,一般会有默认的权限,而这个默认权限与umask有关。umask就是指定“目前用户在新建文件或目录时的权限默认值。”

1.1查看umask:

(1)直接输入umask:可以查看数字形式的权限设置分数(会出现四组数字,第一组是特殊权限,后面三组是基本权限。)像例子中的umask值为0022。

***在新建“文件”时,默认没有执行(x)权限,只有r、w权限,即最大为666

***在新建“目录”时,默认有所有基本权限,即最大为777

而umask的分数是指“默认值需要减掉的权限”,新建文件/目录的特殊权限一般为0

所以:如下例,权限值为755 ,特殊权限为0 ,所以新建文件的umask为:0666-0644=0022

Linux学习:用户权限2:特殊权限_第1张图片

(2) 使用-S(Symbolic)参数:umask -S:可以以符号形式显示权限

如下例,权限值为755 ,特殊权限为0 ,所以新建目录的umask为:0777-0755=0022

Linux学习:用户权限2:特殊权限_第2张图片

 1.2 设置umask

设置umask:直接在umask命令后输入umask值就可以了,如:umask  0002,设置后,在新建文件,会给属组填上可写的权限。

Linux学习:用户权限2:特殊权限_第3张图片

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ICz5YWDNjcy,size_20,color_FFFFFF,t_70,g_se,x_16

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都无法删除.

Linux学习:用户权限2:特殊权限_第4张图片

后面需要删除该文件时,可以用chattr  -i去除该属性。

2.2  lsattr(显示文件隐藏属性)

-a 将隐藏文件的属性也显示出来
-d 如果接的是目录,仅列出目录本身的属性而非目录中的文件名

-R

连同子目录的数据也一并列出来

eg:

Linux学习:用户权限2:特殊权限_第5张图片

 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   文件名

你可能感兴趣的:(linux)