2019-03-21课堂笔记

第1章 Linux系统权限知识及应用实践

1.1 文件权限介绍

1.1.1 文件权限位说明

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


image.png

权限定义字母:
1) r代表读权限,用数字4表示;
2) w代表写权限,用数字2表示;
3) x代表执行权限,用数字1表示;
4) -代表没有权限,用数字0表示;

1.2 Linux文件及目录权限核心知识说明

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

1、 可读r:表示具有读取、浏览文件内容的权限。
2、 可写w:表示具有新增、修改、删除文件内容的权限。
3、 可执行x:表示具有执行文件的权限。
对于可读r,有两点需要说明:
1) 如果没有可读r配合,那么使用vim编辑文件时会提示无法编辑(但可强制编辑),可以使用echo等命令进行重定向或追加。
2) 删除文件或创建文件的权限是受父目录(上一级目录)的权限控制的(因为文件名没有存放在Inode里,而是在上级目录的Block里存放着的,若修改上级目录的Block (删除文件本质),当然会受上级目录的Inode的权限控制),和文件本身的权限无关,因此,文件本身的可写w权限和文件是否能被删除和改名无关。
对于可执行x,需要注意以下三点。
1) 首先文件的本身要能够执行(命令或脚本)。
2) 如果是普通用户,同时还需要具备可读r的权限才能执行文件。
3) 而root用户只要有可执行x的权限就能执行文件。

1.2.2 目录对应读、写、执行权限的详细说明

1、 可读r:表示具有浏览目录下面文件及子目录内容的权限。
2、 可写w:表示具有增加、删除或修改目录内文件的权限。。
3、 可执行x:表示具有进人目录的权限。

1.3 命令chmod:设置及更改文件和目录的权限

1.3.1 chmod命令是用来改变文件或目录权限的命令,但只有文件的属主和超级用户root才能够执行这个命令。

1.3.2 命令参数:

image.png

1.3.3 数据权限表:

image.png

1.3.4 使用权限字符设置权限格式:

image.png

1、 用户或用户组的定义:
1) u(owner/user)代表属主用户;
2) g(group)代表属组;
3) o(other)代表其他用户;
4) a(all)或者不写,同时代表ugo属主、属组和其他用户。
2、 权限增减字符:
1)+:添加权限;
2)-:取消权限;
3)=:取消其他所有权限,然后赋予给定的权限。

1.4 命令chown:改变文件用户和组

1.4.1 语法格式

1.4.1.1 更改用户和组


image.png

1.4.1.2 只更改用户


image.png

1.4.1.3 只更改用户组
image.png

注:只更改用户组的情况下也可以使用chgrp命令,格式为:chgrp 用户组 文件,这里的用户组前不用加.。

1.5 安全权限的临界点:

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

1.6 umask:默认权限掩码

umask是通过八进制的数值来定义用户创建文件或目录的默认权限的。系统会根据预先设定的umask值计算出默认情况下创建的文件或目录权限。

1.6.1 通过umask计算默认权限方法

1.6.1.1 文件默认权限计算:创建文件默认最大的权限是666(-rw-rw-rw-),其默认创建的文件没有可执行权限x位。
umask都为偶数,默认权限用减法
umask有奇数,默认权限用减法后奇数位加1
1.6.1.2 目录默认权限计算(umask没有奇偶之分):创建目录默认最大权限777(-rwxrwxrwx),默认创建的目录属主是有x执行权限的,即允许用户进入。

1.6.2 umask设置与Linux默认权限设置

image.png

1.7 特殊权限位

在Linux系统的权限中,除了9位基础权限外,还有3位特殊权限。

1.7.1 suid位:

suid(setuid)位通过S字符标识,存在于基本权限的用户权限位的x权限对应的位置,如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识,suid的s对应的数字权限为4,完整权限用八进制数4000表示。
简单地说,suid的作用就是让普通用户可以在执行某个设置了suid位的二进制命令或程序时,拥有和命令对应属主(一般为root管理员)一样的身份和权限(默认情况)。

1.7.2 sgid位:

sgid(setgid)位同样是通过S字符来标识,但是,sgid位存在于基本权限的用户组权限位的x权限对应的位置,如果用户组权限位对应的x权限位上有x权限,则sgid就用小写的s标识,suid的s对应的数字权限为2,完整的权限用八进制数2000表示。

1.7.3 sticky(粘滞位)知识简介

sticky(粘滞)位通过字符T标识,存在于基本权限的其他用户位对应的x权限位上,如果其他用户位的x权限位上有x权限,则sticky(粘滞)位通过小写的t标识,对应的数字权限是1,完整的权限用八进制数1000表示。

1.7.4 特殊权限修改方法:

代表各特殊权限的八进制数最高位加和后(或单独)放在基础权限数字前面。
修改方法:
例如:
chmod 7755 abc
ls -l abc
-rwsr-sr-t 1 root root 0 Oct 7 23:42 abc

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

推荐阅读更多精彩内容