一个文件的详细信息:

dr-xr-x---.  16 root root 4096 Aug 26 09:47 root

文件类型 权限  硬链接次数  属主 属组  文件大小  文件最后一次修改时间  文件名

文件类型

-   普通文件
d   目录                  
c   字符文件           //顺序存储
b   块设备文件         //随机读取
l   链接文件           //软连接(快捷方式)
s   套接字  
p   管道文件   

权限问题

对于root用户来说没有权限的限制,只对普通用户而言

权限这里的字母三个一组,依次为所属用户、所属组、和其他人

所属用户:u

所属组:g

其他人:o

读:r                  写:w                   执行:x

我们在设置权限时,r w x也可以用4 2 1来代替(注:数字只是方便我们表示,最终权限的计算还是要用字母)

 0  ---
 1  --x 
 2  -w- 
 3  -wx
 4  r--
 5  r-x 
 6  rw-
 7  rwx
 例:rwxr-xr-x:755

对于普通文件:

r:可读取此文件的实际内容(cat查看文件)。

w:可编辑该文件的内容(vim,echo),但不具备删除该文件本身的权限(删除文件由文件的上层目录控制,与文件本身的权限无关)。

x:该文件具有可以被系统执行的权限。

对于目录文件:

r:具有读目录结构列表的权限,可以查询该目录下的文件名数据(ls将该目录的内容列表显示出来)。

w:对目录有一个创建、移动和复制的权限。

x:用户能否进入该目录。

修改权限:

chmod 

所属用户:u

所属组:g

其他人:o

+:增加权限

- :取消权限

例:chmod u=rwx,g+w,o-r FILENAME             给所属用户rwx权限、所属组加一个写的权限、其他人去掉读的权限

权限掩码:控制创建文件的权限

查看权限掩码:umask         

修改权限掩码:

umask 022

当权限掩码值为022时: 

普通文件的权限属性:666,默认创建普通文件的权限值就为644。

目录文件的权限属性:777;默认创建的目录权限值就为755。

rw- rw- rw-   666
--- r-x r-x      055
rw- r-- r--      644                              //数字只是方便我们表示,最终权限的计算还是要用字母

特殊权限:当前面第一位为4和2权限就叫强制位,1的权限就是冒险位,4代表的是uid,2代表gid,1代表的是sticky

suid:u+s,让进程不再属于它的发起者,而是属于程序文件本身。(suid只对二进制文件有效;调用者对该文件有执行权;在执行过程中,调用者会暂时获得该文件的所有者权限;该权限只在程序执行的过程中有效)。如果文件原来有执行权限就显示为s,反之显示S。

sgid:g+s,对于普通文件,以组的权限执行修改/usr/bin/touch的g+s,touch文件后文件所属组为root(作用于普通文件时,和suid类似);对于目录文件,目录的属组是谁,在目录下创建的文件的属组是目录的属组。即运行程序时,进程的所属组是程序文件自身的所属组,而不是进程发起者的所属组

sticky:o+t,不能够删除其他用户在同目录里创建的文件,也无法修改其他用户创建的文件的内容,可删除修改自己创建的文件

安全上下文:

进程的权限取决于用户的发起者的权限,而并非执行文件本身。

进程访问文件时,先查看用户权限,如果不是,再查看进程的发起用户是不是目标文件所属组成员;系统任何进程开始都保存为一个文件,由用户执行可执行文件后成为进程,而能否执行,取决于用户对可执行文件有没有权限,而程序一旦执行后转为进程,那么进程就与之前的可执行文件无关,进程的权限为进程发起者的权限,而进程能否访问某个文件,则取决于发起者是否有权限访问目标文件,而这一切就叫做安全上下文。

修改文件的所属关系

可以修改一个文件的所属用户和所属组。

chown 修改所属用户

chown USERNAME FILENAME

chown USERNAME:GROUPNAME FILENAME

chown USERNAME.GROUPNAME FILENAME

chown .GROUPNAME FILENAME :

chgrp 只修改所属组

chgrp GROUPNAME FILENAME             与修改所属用户命令格式一致、

几个细节:

1、这里因为redhat用户没有权限,所以就不能访问a文件

这里我们在创建一个haha用户,并将其放入到redhat组中;我们用haha用户访问a文件,显示成功。 

权限的匹配是按照用户、组、其他人的顺序来匹配的。 

2、当前的用户只能更改当前所属用户的文件权限。比如haha用户只能修改所属于haha用户的文件的权限,而不能修改所属于redhat用户的文件

 posted on 2020-03-03 19:35  嚴∞帅  阅读(63)  评论(0编辑  收藏  举报