课堂笔记(三月二十一日)

文件权限位说明

Linux文件或目录的基础权限位是由9个字符来控制的,每3个字符为一组。

前三位是用户权限位(r w x):用户user 代表字符为u

中三位表示用户组权限位:(r - x)用户组group 代表字符为g

后三位表示其他用户权限位:其他用户others 代表字符为o

普通文件对应的权限:

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

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

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

对于可读r,有两点需要说明:

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

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

对于可执行x,需要注意一下三点:

1:首先文件的本身要能够执行(命令或脚本)。

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

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

Linux系统中目录的权限和文件有一些细微区别,下面是目录对应的权限重要知识。

1,可读r:表示具有浏览目录下面文件及子目录内容的权限。

2,可写w:表示具有增加、删除或修改目录内文件的权限。但是,如果没有可执行x的配合,即使有w权限,也无法删除或创建文件。

3,可执行x:表示具有进入目录的权限。

测试准备:

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

权限修改:

777 +x -x  u=w  g-x

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

修改文件属性的用户和组

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

chown 用户 文件

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

安全权限临界点:

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

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

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

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

从666计算

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

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

基于目录:默认权限规则

从777计算

默认权限用减法

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表示。

你可能感兴趣的:(课堂笔记(三月二十一日))