目录
1.3 Linux下有类中用户:超级用户(root)、普通用户。
1.权限的概念
1.1 什么是权限
通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源
1.2 权限的本质
权限跟人有关,权限跟事物的属性有关
权限 = 用户角色(具体的人) + 文件权限属性
1.3 Linux下有类中用户:超级用户(root)、普通用户。
🐂超级用户:可以在linux系统下做任何事情,不受限制
🐔普通用户:在linux下做有限的事情
🧍♀️超级用户的命令提示符是 "#" ,普通用户的命令提示符是 "$"
1.4 Linux如何互换身份?
💰root->普通用户 : su + root(root可以省略)
🩷普通用户->root : su + 用户名
⚠️如果我不想直接变成root,但是我就是想以root的身份执行一个工作,该如何做呢?这就涉及到指令提权的概念: 需要用sudo这一指令。
2. Linux中文件的权限
具体实例:
2.1 基本权限
1. r,读 :Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
2. w,写 :Write对文件而言,具有修改文件内容的权限;对目录来说,具有删除/移动/增加目录内的权限
3. x,可执行权限 :execute对文件而言,具有执行文件的权限;对目录来说,具有竟如目录的权限。
注:
有可执行权限不等于就可以执行该文件,还得看该文件是不是可折行文件;
可执行的文件也不等于有可执行权限,只有当有执行权限并且该目标是可执行程序时才能执行。
2.1.1 不同角色权限的位置
2.2 快速掌握修改权限的方法
一个文件的权限,谁有能力修改?
🐂:root
🍺:文件拥有者
2.2.1 修改的指令
a)chmod
功能:设置文件的访问权限(修改权限)
格式:chmod [参数] 权限 文件名
① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
一个人的一个权限:
一个人的多个权限:
多个人的一个权限/多个权限
所有人同时加/减同样权限
2.2.2 权限有无的对比
可见:
对于普通用户而言,自身要受到对应权限的限制,即便这个文件是自己的。
但对于root而言,不受权限的约束。
2.2.3 权限存在的意义
保证普通用户的文件的一般安全。
2.3修改权限的第二套做法
chmod 八进制 filename
2.3.1修改文件的拥有者指令
b)chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
实例:
c)chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
实例:
2.4 文件的类型
由图可见,linux不是通用后缀进行识别的,但不能就说后缀没有用,在linux上的一般工具都是通过后缀识别,比如gcc识别.c文件
2.4.1 Linux文件类型
d:文件夹(目录文件)
-:普通文件(文本文件、可执行程序、源文件都属于普通文件)
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件(链接文件)
2.5 目录的权限
- 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中(进入目录,一定要有可执行权限)
- 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
- 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
2.6 创建文件的默认权限
linux在创建文件时,为什么有默认权限,为什么是我们所看到的这样子?
理由:最终权限 = 起始权限& (~umask)
umask:linux中的默认权限掩码
创建文件的时候,要从起始权限中,过滤掉(不是简单的减法)在umask中出现的权限
2.6.1 计算
最终权限=起始权限& (~umask)