linux环境下文件权限解析

来源:互联网 发布:网络捕鱼游戏犯法吗 编辑:程序博客网 时间:2024/06/16 01:28

Linux权限管理( 一件事情允许被谁做?, 事物属性


1 文件访问者的分类人)


a) 文件和 文件  目录的所有者:u---User

b) 文件和 文件  目录的所有者所在的组的 用户:g---Group


c)其它 用户:o---Others 


2 文件访问权限的种类(事物属性)



 a)、基本权限


i.(r/4):Read文件 言,具有读取 文件内容的权限;对  目录来说,具有浏览该  目录信息的权限
 

ii.(w/2):Write文件 言,具有修改 文件内容的权限;对  目录来说具有删除移动  目录内文件的权限
 

iii.(x/1):execute文件 言,具有执 文件的权限;对  目录来说,具有进  目录的权限
 iv.“—”示不具有该项权限
 

b)、特殊权限


i.suid (s/4)只能应用在可执行文件上,允许任意用户在执行文
件时以文件拥有者的⾝身份执⾏行
ii.sgid (s/2)只能应用在可执行文件上,使任意用户在执行可
执行文件时,将以拥有组成员的⾝身份执⾏行
iii.粘着位(t/1)只能应用在目录文件上,将使用户在目录中执
行删除时,只能删除自己拥有的对象

下面我们探讨两个问题:

1:cd 一个目录需要什么权限?

2:在目录中创建一个文件并显示各需要什么权限?

首先注意!!!!!

我们从实例上来分析:


首先在普通用户模式下在code 文件中建一个目录为dir1,此时我们看到目录dir1的权限为:此目录所有者为wangyu用户组为wangyu ,所有者rwx用户组rwx其他用户r-x 。


其次在超级用户模式下在code文件中创建一个目录dir2,此时我们看到dir2的权限为:此目录所有者为root用户组为root ,所有者rwx用户组r-w其他用户r-x.

区别是超级用户的用户组没有w权限,无法对目录内的文件进行删除移动操作!


在超级用户模式下cd进入dir1可以!


在普通用户模式下cd进入dir2可以!


现在我们去掉所有身份的x权限再cd进入dir1发现系统报错Premission denied (不允许)

所以cd一个目录必须有x(可执行)权限!


我们除去目录dir1所有者用户组的w权限发现无法在dir1中创建文件



加上所有者的w权限发现可以创建文件


去掉所有者的w加上用户组的w也不可以!

所以在目录下创建文件至少需要所有者的x(写)权限!


那么由上可知显示这个文件至少需要所有者的r(读)权限!




0 0
原创粉丝点击