文件权限管理

一、文件系统权限(vfs提供)

devic->filesystem->vfs(虚拟文件系统)

vfs提供了权限控制

 

二、文件系统普通/标准权限

(1)、UGO权限

ls -l:查看权限

UGO权限:文件所属人:文件所属组

UGO,不包括第一位文件类型和最后一位,三位为一组

U(user):所属人

G(group):所属组

O(other):其他人

访问文件先检查是否文件所属人(Owner),实际比对UID,匹配则检查第一个三位组U,是否具有。然后检查文件所属组(Group),如果有则对比G。如果既不是所属人,也不是所属组的成员,则对比查看O

(2)、文件权限

r:读

针对文件,读取浏览(cat)

针对目录,浏览目录(ls)

w:写

针对文件,编辑

针对目录,在目录中创建/删除

x:执行

主要针对脚本,是否可以执行

进入目录(cd)

-:没有权限

(3)、目录只可能出现两种权限

rwx:读和执行不分家

r-x:

(4)、权限更改

更改所属人

chown:更改所属人

chown 用户名 a.txt

更改所属组

chgrp:更改所属组

· chgrp 组名 文件名

chwon 所属人.所属组 文件名:一次更改所属人及所属组,.可以替换为:

.前不写代表不更改所属人

(5)、更改权限(chmod)

1)符号法

chmod u+w 文件名:给第一个三位组增加w权限

chmod g-x:给第二个三位组去掉x权限

chmod o=r:第三个三位组只有r选项

ug+w、go-w、a=rw(所有均只有rw权限)

2)数字法

r--:100:4

-w-:010:2

--x:001:1

可以组合十进制如:chmod 600 文件名

只有管理员才能更改所属人,文件的所属人或管理员才能更改所属组

普通用户:1.文件的所属人 2.如果文件所属组不是自己的所属组(主要/次要),可以将所属组该为自己的所属组

文件权限:root、文件所属人

 

三、文件系统默认权限

(1)、umask(用户掩码)

管理员:0022、用户:0002

(2)、更改umask:umask

(3)、文件默认权限

管理员:644,只有管理员能编辑

用户:664

(4)、目录默认权限

管理员:755

用户:775

(5)、默认权限(文件666、目录777)与umask运算后才能得到最终权限

umask中第一个数字为特殊权限,剩下三位默认为ugo

 

四、文件系统高级/特殊权限

(1)、SUID、SGID、Sticky

可执行文件(系统管理类命令):SUID、SGID

目录:SGID、Sticky

(2)复用,分别放在UGO中x位表示

s代表有x,S代表没有x(O位为t和T)

(3)、设置权限

1)符号法

SUID:chmod u+s

SGID:chmod g+s

Sticky:chmod o+t

后边的不区分大小写,系统会自动判断

2)数字法

SUID 4、SGID 2、Sticky 1

chmod 4755/2755/1777

(4)、作用

1)SUID

进程默认身份谁执行是谁(euid),suid存在则变化,以可执行文件的所属人的身份读写

SUID:系统中的一些系统管理命令,这些命令的所属人一般都是root

SUID也称为提权

如/etc/shadow权限位--- --- ---,可以通过passwd(进程,有身份)来更改密码

默认情况下,进程谁执行身份就是谁

默认情况下uid与进程身份euid一样

passwd:rwsr-xr-x

SUID存在,则以可执行文件的所属人的身份执行

2)SGID

以文件所属组的身份来运行

当一个目录有SGID,目录下创建文件及文件夹的所属组 ,默认的组会继承该目录的所属组3)Sticky

当目录具有该位时,该目录下创建的文件只有创建者自己才能删,其他用户具有完全权限也无法操作

 

五、文件系统访问控制列表

(1)、传统文件让某人访问

改文件所属人、给root组加w权限,将需要用户加入该组、给other加w权限<=====传统UGO缺陷:O范围过大

(2)、访问控制列表

setfacl:设置文件访问控制列表

setfacl -m u:用户名:权限 a.txt

m:编辑设置acl、u:说明是给用户设置、给某个文件设置了acl后,最后一位为+、给组设置将u改为g即可

x:单独删除acl,如setfacl -x u:user a.txt

b:清除所有acl,如setfacl -b a.txt

(3)、setfacl -m d:u:用户名:权限 目录/

在目录下创建的文件某用户均有访问修改权限,加d(default)只能应用于目录

(4)、getacl:查看访问控制列表

(5)、mask:系统的安全底限,防止给用户设置权限过大,用户超越权限以mask为准

setfacl -m m:r 文件名

 

六、文件属性(chattr)

·lsattr 文件名:用来查看文件系统属性

·chattr +/-属性 文件名称:

·i:i属性可使文件不能被删除、改名,设置连接也无法写入或添加数据。对于系统安全性有很大帮助。只有root能设置此属性。

·a:当设置a后,文件只能增加数据,既不能删除也不能修改数据,只有root才能设置这个属性

全部评论

相关推荐

没有offer的小土豆:专业面试一般是分配面试官然后联系你面试 应该是还没给你分配对应面试官
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务