day16-2019年3月21日

 权限

Linux基础权限是9个字符

[root@oldboy_template-2 ~]# ls -lhi

total 0

51523334 drwxr-xr-x 2 root root 94 Mar 20 21:48 oldboy

文件权限:

rwx r-x r-x

user group others

r read读取   4

w write 写   2

x execute    1

- 没有权限

分三组:

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

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

后三个字符是表示其它用户权限位           o

同一组的三个字符权限也是有位置的:

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

-w- 第二个字符的位置是写的权限位

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


Linux系统中的权限对于文件和目录来说,是有一定区别的,下面先列举下普通文件对应的权限重要指示。

1)可读r:表示具有读取、浏览文件内容(即读取文件实体block)的权限

2)可写w:表示具有新增、修改、删除文件内容的权限

3)可执行x:表示具有执行文件的权限

其中,对于可读r,这里有两点需要说明:

 ①如果没有可读r配合,那么使用vi编辑文件时会提示无法编辑(但是可以强编辑),可以使用echo等命令进行重定向或追加

 ②删除文件或创建文件的权限是受腹肌目录(上一级目录)的权限控制的(因为文件名没有放到Inode里,而是放在上级目录的Block里存放着的,若修改上级目录的Block(删除文件本质),当然会受到上级目录的Inode的权限控制),和文件本身的权限无关,因此,文件本身的可写w权限,和文件是否能够被删除和改名无关。


usermod -g icnahome oldboy  usermod修改用户权限   -g修改所属组  icnahome组名ZZ

id oldboy 查看oldboy所属组

如果此前没有创建oldboy用户,可以执行下面命令,

useradd oldboy -g icnahome

userdel oldboy 删除用户


 权限修改:

Linux权限有两种表现形式:

1、数字表示法

r read读取   4

w write 写   2

x execute    1

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

2、字符表示法

用户类型:u g o a

操作字符:+ - =

权限字符:r w x - 

修改文件属性的用户和组

chown     用户.用户组  文件 这里的点可以用冒号代替

chown    用户    文件

chown    .用户组  文件


安全权限临界点:

文件不想被修改:644

默认也是644

[root@oldboy_template-2 oldboy]# ls -l

total 24

-rw-r--r-- 1 root root   68 Mar 20 12:25 123.123

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

服务器的博客目录和文件的权限,防止被恶意篡改

控制默认权限的东西 umask

[root@oldboy_template-2 oldboy]# umask 

0022

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

666

022

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

644 默认权限

umask设置linux默认权限

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

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

基于文件:默认权限规则

从666计算做减法

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

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

基于目录:默认权限规则

从777计算做减法


对文件目录的修改都是永久的,对自身环境的设置都是临时的

解决方案:

1、备份


2、找到被修改的文件


3、批量删除


4、找到文件被篡改的来源,并优化调整

亡羊补牢

5、写总结 故障报告




还有3位特殊权限位

suib位:

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

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

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

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


sgid位:

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

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

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

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


sticky(粘滞位)知识简介

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

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

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

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



类别 SUID SGID sticky

表示字符 S S T

占据位置 基本权限x位 基本权限x位 基本权限x位

基本权限位有x s s t

数字表示 4 2 1

八进制表示 4000 2000 1000

作用 针对用户位 针对用户组 其它用户


工作中有什么用?

suid到底有什么用

简单的说,suid的作用就是让普通用户和普通


suid核心知识小节

1)suid功能是针对二进制命令或程序的,不能用在shell等类似脚本文件上

2)用户或属主对应的前三位权限的x位上,如果有s(S)就表示具备suid权限

3)suid的作用就是让普通用户可以在执行某个设置了suid位的命令或者程序时,拥有和root管理员一样的身份和权限(默认)

4)二进制命令程序需要有可执行权限x配合才行

5)suid对应的身份和权限仅在程序命令执行过程中有效

6)suid是一把双刃剑,是一个比较危险的功能,对系统安全有一定的威胁,企业里用户授权可以使用sudo等代替sgid功能

7)在进行安全优化时,系统默认设置了suid权限的命令要取消掉

你可能感兴趣的:(day16-2019年3月21日)