3.21 课堂笔记

文件权限

目录

一.文件属性 1

1.第二列分3组: 1

2.同一组的三个字符的权限: 1


二.文件权限 1

1.Linux权限有两种表现形式: 1

2.修改文件属性的用户和组 2

3.安全权限临界点: 2

4.应用 2

5.umask 3

6.默认权限规则 4

7.Linux系统特殊权限位知识 4



一.文件属性

Linux基础权限是9个字符。

[root@oldboyedu ~]# ls -lhi

total 36K

33631870 -rw-r--r--. 1 root root     21 Oct  6 22:54 a.txt

1.第二列分3组:

前三个字符是表示用户(属主)权限位user(用户) u

中三个字符是表示用户组权限位group(用户组)     g

后三个字符是其它用户权限位others(其他用户)    o


2.同一组的三个字符的权限:

r--第一个字符的位置读的权限位

第二个字符的位置写的权限位

第三个字符的位置是执行的权限位。


二.文件权限


1.Linux权限有两种表现形式:

(1)数字表示法 称为8进制权限

 r 4

 w 2

 x 1

 - 0

实际的权限表示就是将每3位相加即可。

 rwxr-xr-x  755


 rwx 7

 r-x 5

 r-x 5


(2)字符表示法


rw-rw-r-x代表的数字权限为665

--xr-x-wx代表的数字权限为153

-wx--x--x代表的数字权限为311



而以下数字权限表示的字符权限如下:

755代表的字符权限为rwxr-xr-x

644代表的字符权限为rw-r--r--

134代表的字符权限为--x-wxr--



2.修改文件属性的用户和组

chown用户.用户组 文件  这里的点可以用:替换。

chown用户 文件

chown .用户组 文件   ====chgrp 用户组 文件

 chgrp incahome test.txt



3.安全权限临界点:

文件不想被修改被执行:644

[root@oldboyedu /oldboy]# touch oldboy.txt

[root@oldboyedu /oldboy]# ls -l

total 4

-rw-r--r-- 1 root    root  0 Oct  7 23:21 oldboy.txt


目录不想被修改(删除移动创建)被执行(进入):755


4.应用

网站文件被恶意修改,打开网站后有弹窗广告(不是你网站的),用户打开网站,报警。

原因:权限设置不到位。chmod -R 777


解决方案:

(1)备份

tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/


(2)找到被修改的文件

[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'

/oldboy/oldboy.txt:<script>ddddddddddddd</scripts>

/oldboy/test.sh:<script>ddddddddddddd</scripts>


(3)批量删除

[root@oldboyedu /]# find /oldboy -type f |xargs sed -i '/ddddddddddddd/d'

[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'


(4)找到文件被篡改来源,并优化调整。


(5)写总结 故障报告。


5.umask

控制默认权限

 [root@oldboyedu /oldboy]# umask

 022



创建文件默认最大的权限为666(-rw-rw-rw-),其默认创建的文件没有可执行权限x位。

 666

 022 -

 --------------------

644默认权限

[root@oldboyedu /oldboy]# umask 044    ====临时

 [root@oldboyedu /oldboy]# touch abc

 [root@oldboyedu /oldboy]# ls -l abc

 -rw--w--w- 1 root root 0 Oct  7 23:42 abc


 [root@oldboyedu /oldboy]# umask 044

 [root@oldboyedu /oldboy]# touch abc

 [root@oldboyedu /oldboy]# ls -l abc

 -rw--w--w- 1 root root 0 Oct  7 23:42 abc

 [root@oldboyedu /oldboy]# umask

 0044

 [root@oldboyedu /oldboy]# umask 043

 [root@oldboyedu /oldboy]# umask

 0043

 [root@oldboyedu /oldboy]# touch a

 [root@oldboyedu /oldboy]# ls -l a

 -rw--w-r-- 1 root root 0 Oct  7 23:44 a


当umask中存在奇数位的时候,在计算完毕,奇数位加1


 666

 011

 -------------------

 655

  11

 -----------------

 666



6.默认权限规则

(1)基于文件

从666计算

umask都为偶数 默认权限用减法

umask有奇数 默认权限用减法 然后奇数位加1


(2)基于目录:默认权限规则

从777计算

默认权限用减法




7.Linux系统特殊权限位知识

9位基础权限


还有3位特殊权限位

(1)suid位:

suid(setuid)位通过S字符标识,

存在于基本权限的用户权限位的x权限对应的位置,

如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识,

suid的s对应的数字权限为4,完整权限用八进制数4000表示。


(2)sgid位:

sgid(setgid)位同样是通过S字符来标识,

但是,sgid位存在于基本权限的用户组权限位的x权限对应的位置,

如果用户组权限位对应的x权限位上有x权限,则sgid就用小写的s标识,

suid的s对应的数字权限为2,完整的权限用八进制数2000表示。


(3)sticky(粘滞位)知识简介

sticky(粘滞)位通过字符T标识,存在于基本权限的其他用户位对应的x权限位上,

如果其他用户位的x权限位上有x权限,

则sticky(粘滞)位通过小写的t标识,对应的数字权限是1,

完整的权限用八进制数1000表示。


(4)使用方法

4 2 1,加和放在基础权限数字的前面。

修改方法:

 [root@oldboyedu /oldboy]# chmod 7755 abc

预测:-rwsr-sr-t

 [root@oldboyedu /oldboy]# chmod 7755 abc

 [root@oldboyedu /oldboy]# ls -l abc

 -rwsr-sr-t 1 root root 0 Oct  7 23:42 abc


 [root@oldboyedu /oldboy]# chmod 7644 abc

 [root@oldboyedu /oldboy]# ls -l abc

 -rwSr-Sr-T 1 root root 0 Oct  7 23:42 abc


(5)作用

suid到底有什么作用

简单地说,suid的作用就是让普通用户可以在执行某个设置了suid位的命令或程序时,

拥有和root管理员一样的身份和权限(默认情况)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容