文件安全与权限 笔记

文件安全与权限 文件

对创建的文件,系统会保存文件的全部信息,包括

文件的位置

文件类型

文件长度

文件的拥有用户与可访问的用户

i节点

文件的修改位置

文件的权限位

使用 ls -l 去查看文件的属性:

total 60 lrwxrwxrwx. 1 root root 7 Apr 26 15:48 bin -> usr/bin dr-xr-xr-x. 5 root root 4096 Apr 26 16:01 boot drwxr-xr-x 19 root root 2960 Oct 9 10:52 dev drwxr-xr-x. 76 root root 4096 Oct 9 10:52 etc drwxr-xr-x. 2 root root 4096 Apr 11 2018 home lrwxrwxrwx. 1 root root 7 Apr 26 15:48 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Apr 26 15:48 lib64 -> usr/lib64 drwx------. 2 root root 16384 Apr 26 15:48 lost+found drwxr-xr-x. 2 root root 4096 Apr 11 2018 media drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt drwxr-xr-x. 2 root root 4096 Apr 11 2018 opt dr-xr-xr-x 82 root root 0 Oct 9 10:52 proc dr-xr-x---. 4 root root 4096 Apr 26 16:02 root drwxr-xr-x 24 root root 640 Oct 9 10:52 run lrwxrwxrwx. 1 root root 8 Apr 26 15:48 sbin -> usr/sbin drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv dr-xr-xr-x 13 root root 0 Oct 9 2020 sys drwxrwxrwt. 9 root root 4096 Oct 9 10:53 tmp drwxr-xr-x. 13 root root 4096 Apr 26 15:48 usr drwxr-xr-x. 19 root root 4096 Apr 26 07:54 var

total :代表所有文件占的空间

第一列(例如dr-xr-xr-x) : 文件类型(参照下一节)及__文件的权限位__,除去第一位的字符,后面的9位是9个权限位,设定用户对文件的访问权限,后面9位分为三组:

前三位:文件属主权限

中间三位:同组用户权限

后三位:其他用户权限

- 代表相应的权限被禁止

第二列:代表文件___硬链接___的数目

第三列:文件的__属主__

第四列:文件的属主所在的缺省组

第五列:用字节表示的文件长度

第六列:文件的更新时间

第七列:文件名

文件类型

ls -l列出的第一列第一位代表文件类型:

d:目录

l:符号连接

s:套接字文件

b:块设备文件

c:字符设备文件

p:命名管道文件

- :普通文件,即不属于以上文件的文件

权限

创建一个文件 :touch <filename>

这里键入命令 touch myfile,然后键入命令 ls -l

total 0 -rw-r--r-- 1 root root 0 Oct 9 11:19 myfile

根据之前说的,那么 -rw-r--r--则定义了:

这是一个普通文件

rw-代表了文件属主拥有的权限

r--代表了文件属主缺省组的权限

r--代表了其他用户的权限

每一个组的三个权限位:

r:读权限

w:写权限

x:执行该脚本或程序的权限

改变权限位(使用chmod命令)

chmod命令分为两种格式:

符号模式

格式为:chmod [who] operator [permission] filename

who的含义

u 文件属主权限

g 同组用户权限

o 其他用户权限

a 所有用户(文件属主、同组用户及其他用户)。

operator的含义:

+ 增加权限

- 减少权限

= 设定权限

permission的含义

r 读权限

w 写权限

x 执行权限

s 文件属主和组 set-ID

t 粘性位(通常对目录来说,这个目录下的文件只有属主才能删除,即使同组用户有相等权限。对文件来说,会被放在虚拟存储进行执行)

l 给文件加锁,使其他用户无法访问

u,g,o 针对文件属主、同组用户及其他用户的操作

使用举例

myfile初始权限

-rw-r--r-- 1 root root 0 Oct 9 11:19 myfile

执行 chmod u+x myfile chmod o-w myfile后

权限变为

-rwxr--r-- 1 root root 0 Oct 9 11:19 myfile 绝对模式

命令形式为

chmod [mode] file

mode是一个八进制数

在绝对模式中,每一个权限位用一个八进制数代表,如下表

八进制数 含义
0400   文件属主可读  
0200   文件属主可写  
0100   文件属主可执行  
0040   同组用户可读  
0020   同组用户可写  
0010   同组用户可执行  
0004   其他用户可读  
0002   其他用户可写  
0001   其他用户可执行  

设定权限时,根据表中各个要设定的权限加起来就可以得到相应的权限表示

比如 777 就是所有权限

可以通过 chmod -R 去递归的设置目录树的权限

目录权限

目录的权限值和文件有所不同

r:可以列出该目录中的文件

w:可以在目录下创建或者删除文件

x:可以搜索或进入该目录

如果我对目录用户设置--x,那么我无法列出目录中的文件,但是我只要知道路径和文件名,仍然可以执行里面的文件。

suid/guid

这个权限比较特殊,系统提供商可能会不允许实现这一位或忽略这一位。

这个权限会导致euid/egid 被 suid/guid覆盖,从而使任何进程都将拥有程序属主的权限

这个权限可以通过符号方式设置,或者设置权限数字的前面加上一个4设置suid,加上2设置guid,6设置两个

chown && chgrp

把文件的所有权交给另一个/etc/passwd文件中存在的合法用户

chown

chown命令的一般形式为:

chown -R -h owner file

-h指不改变该链接指向的目标文件

-R意味着对子目录下的文件执行同样的操作

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgpgp.html