关于linux数字权限,第十二章:Linux系统权限知识及应用实践day16

重点:

【文件】权限详细说明:*****

【目录】权限详细说明:*****

字符和数字(8进制)权限知识*****

chmod chown chgrp命令使用。*****

企业真实案例:网站文件被恶意修改了*****

umask默认权限控制*

特殊权限,suid** sgid sticky*

重点suid

命令:

chown 改变属主属组

chmod 改变权限

b577f15ae206

image.png

修改文件属性的用户和组

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

chown 用户 文件

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

b577f15ae206

image.png

1.Linux基础权限是9个字符。

1.1普通文件对应读、写、执行权限的详细说明

rw-r--r--

rw-r--r--

rw-r--r--

b577f15ae206

image.png

分3组:

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

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

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

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

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

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

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

1. 对于普通文件

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

2)可写w:表示可以对文件内容进行增删改文件内容的权限

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

对于可读r,有两点说明

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

2、删除文件或创建文件是受父目录(上一级目录)的权限控制的(因为文件名没有存放在inode里,而是存放在上级目录的block里,若修改上级目录的block,当然要受上级目录的inode的权限控制),和文本本身权限无关,因此,文件本身的可写w权限和文件是否能被删除和改名没有关系

b577f15ae206

image.png

对于可执行x,需要注意以下三点。

1、首先文件的本身要能够执行(命令和脚本)

2、如果是普通用户,同时还需要具备,可读r权限才能执行文件

3、而root用户只要有可执行x的权限就能执行文件

2. 对于目录

b577f15ae206

image.png

测试准备:

incahome(家、组)

oldboy 家庭男主人,用来代表用户(User)角色,是文件的所有者

oldgirl 女主人(和所有者oldboy属于相同组,oldboy的家人)用来代表用户组incahome的角色

test 其他人 其他(others)人,用来代表其他用户角色

[root@oldboyedu ~]# groupadd incahome

[root@oldboyedu ~]# useradd oldboy

useradd: user 'oldboy' already exists

[root@oldboyedu ~]# usermod -g incahome oldboy

[root@oldboyedu ~]# id oldboy

uid=1000(oldboy) gid=1004(incahome) groups=1004(incahome),1000(oldboy)

如果此前没有创建oldboy,可以执行下面命令,而不需要usermod命令。

[root@oldboyedu ~]# useradd oldboy -g incahome

[root@oldboyedu ~]# useradd oldgirl -g incahome

useradd: user 'oldgirl' already exists

[root@oldboyedu ~]# id oldgirl

uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)

[root@oldboyedu ~]# usermod -g incahome oldgirl

[root@oldboyedu ~]# id oldgirl

uid=1001(oldgirl) gid=1004(incahome) groups=1004(incahome)

[root@oldboyedu ~]# useradd test

useradd: user 'test' already exists

准备环境:

[root@oldboyedu ~]# mkdir -p /oldboy

[root@oldboyedu ~]# echo "echo oldboyLinux" >/oldboy/test.sh

[root@oldboyedu ~]# chmod +x /oldboy/test.sh

测试默认情况下不同用户的对应权限

[root@oldboyedu /oldboy]# chown oldboy.incahome test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

-rwxr-xr-x 1 oldboy incahome 22 Oct 7 21:18 test.sh

2.权限修改

Linux权限有两种表现形式:

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

r

4

w

2

x

1

-

0

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

rwxr-xr-x 755

权限

八进制

---

0

--x

1

-w-

2

-wx

3

r--

4

r-x

5

rw-

6

rwx

7

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--

3.修改文件的属性

chown 改变属主属组 -r递归

chmod 改变权限

修改文件属性的用户和组

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

chown 用户 文件

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

(chgrp incahome test.txt=chown .incahome test.txt)

b577f15ae206

image.png

[root@oldboyedu /oldboy]# chown oldboy test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 oldboy root 12 Oct 7 22:16 test.sh

[root@oldboyedu /oldboy]# chown .incahome test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 oldboy incahome 12 Oct 7 22:16 test.sh

[root@oldboyedu /oldboy]# chown root:root test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 root root 12 Oct 7 22:16 test.sh

[root@oldboyedu /oldboy]#

4.安全权限临界点

文件不想被修改被执行:默认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

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

企业真实案例:网站文件被恶意修改了。。。。打开网站后有弹窗广告(不是你网站的)

用户打开网站,报警。

原因:权限设置不到位。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:

/oldboy/test.sh:

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文件权限的掩码

命令umask查看掩码

基于文件:默认权限规则 了解

从666计算

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

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

基于目录:默认权限规则

从777计算

默认权限用减法

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

9位基础权限

还有3位特殊权限位

suid位:

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

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

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

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

sgid位:

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

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

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

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

sticky(粘滞位)知识简介

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

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

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

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

修改方法

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

工作中有啥用?

suid到底有什么作用

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

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

[oldgirl@oldboyedu /]$ ll -ld oldboy/

dr-x-wxrw-. 2 oldboy incahome 6 Oct 7 22:15 oldboy/

oldgirl属于incahome,增加一个用户属于incahome,是不是也和oldgirl有同样权限。

oldboy 给一个命令设置suid,任何使用这条命令的用户权限就和属主使用它一样。

作用之一:

sgid的作用就是让普通用户可以在执行某个设置了sgid位的命令时,

拥有和命令对应用户组(一般为root用户组)一样的身份和权限(默认)。

locate搜索内容,默认从updatedb对应的数据库中查找

updatedb 更新locate查找内容对应的数据库。

[root@oldboyedu ~]# updatedb

[root@oldboyedu ~]# ls -l /var/lib/mlocate/mlocate.db

-rw-r----- 1 root slocate 1977042 Oct 8 00:47 /var/lib/mlocate/mlocate.db

[root@oldboyedu ~]# file /var/lib/mlocate/mlocate.db

/var/lib/mlocate/mlocate.db: data

sgid基于目录的作用:

让不同的人创建文件属于相同的用户组,从而可以互相共享文件的权限。

12.9 本章重点

1)Linux基本9位权限之文件和目录权限详细说明。

2)Linux基本9位权限之字符和数字(8进制)权限知识。

3)权限及用户用户组属性修改命令chmod、chown、chgrp。

4)默认权限umask以及系统目录安全案例。

5)特殊权限Suid知识掌握,Sgid和sticky知识了解即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值