【Linux】Linux文件权限的理解
目录
一、Shell是什么?
1、Shell承担用户和内核间的翻译工作
2、拒绝用户非法请求,保护内核
3、派生子进程执行用户指令
二、用户切换与提权
1、普通用户与root用户的切换
2、普通用户指令短暂提权
三、文件权限的理解
1、文件权限=角色的权限+文件属性
2、Linux中的三种角色
2.1为什么会存在所属组(grouper)这种角色
3、drwxrwxr-x代表的意义
3.1第一位字母代表的意义
3.2后九位代表的意义
3.3文件权限的字符修改方法
3.4角色的更改
3.5文件权限的八进制修改方法
3.6目录的起始权限及权限掩码umask
4、目录的权限
四、粘滞位(公共目录使用)
一、Shell是什么?
Shell是操作系统外壳程序的统称,Windos中的图形化界面、Linux中的命令行外壳都是外壳程序。CentOS中的外壳程序被称为bash。
1、Shell承担用户和内核间的翻译工作
Shell是命令行解释器。
Linux严格意义上说的是一个操作系统,我们称之为"核心(Kernel)"。但是用户和内核沟通的学习成本很高,所以在内核外部有一层Shell外壳程序,将用户输入的指令翻译传递给内核,内核处理后,将结果返回给Shell,由Shell向用户传达指令的最终结果。
2、拒绝用户非法请求,保护内核
当用户输入非法指令时,shell不会再去询问内核结果,而是直接拒绝用户的非法请求。
3、派生子进程执行用户指令
因为Shell是用户和内核沟通的唯一桥梁,一般Shell不参与指令的执行,而是通过派生子进程的方式执行用户的指令。(子进程挂了,但Shell不会受到影响)
二、用户切换与提权
1、普通用户与root用户的切换
su//切换后路径不变
su -//切换后来到家目录
普通用户切换为root用户需要输入root密码,而root用户切换成普通用户无需 任何验证。
2、普通用户指令短暂提权
sudo whoami
当该用户被添加至etc/sudoers中,sudo为最近的一条指令提权至root,需要输入当前普通用户密码。
在一次密码认证过后,接下来的几分钟使用sudo提权操作,将无需再次输入密码。
为什么sudo提权需要输入当前用户的密码,而不是root密码呢?这样做是为某些被信任的用户,提供最少的执行障碍。而不是直接将root的密码交给员工。
三、文件权限的理解
1、文件权限=角色的权限+文件属性
对于Linux中的文件权限,有的角色对这个文件有可读、可写、可执行的权限,而有的角色却只有可读权限。这是人的权限。
对于文件的可读、可写、可执行的属性,如果一个文件不具备可读权限,那么角色在访问文件时,也是没有可读权限的。
2、Linux中的三种角色
Linux中有三种角色,分别是拥有者(owner)、所属组(grouper)、其他人(other),权限限制的不是用户,而是这个用户当前所处的角色。
2.1为什么会存在所属组(grouper)这种角色
举个例子:现在公司有A、B、C等多个部门使用同一台Linux的云服务器,每个小组都有各自的小组成员,所以就有了所属组的概念。把不同的组员放到各自的所属组中,员工无权限访问他组文件,防止项目信息互相泄露。
3、drwxrwxr-x代表的意义
3.1第一位字母代表的意义
第一位字母代表的意义是文件的类型。
在windows中,区分文件类型是通过文件名后缀,而Linux中,文件的类型由第一位字母决定,与文件本身的后缀无关。(Linux中文件后缀作用是帮助用户快速区分这个文件的类型或者gcc等工具是需要关注后缀)
d:目录文件
-:普通文件(源代码、库文件、可执行程序、文档压缩包等)
c:字符设备文件(键盘、显示器等串口设备)
b:块设备(硬盘、光驱等)
l:软链接文件(类似于Windows中的快捷方式)
p:管道文件
s:socket套接口文件
3.2后九位代表的意义
后九位三三为一组,分别代表拥有者、所属组、其他用户的权限。其中r代表可读,w代表可写,x代表可执行。-代表不具备该权限。
3.3文件权限的字符修改方法
chmod u-r text.c//将text.c的拥有者减去可读权限
chmod g+x text.c//将text.c的所属组加上可执行权限
chmod o+rwx text.c//将text.c的其他用户减去读、写、可执行权限
chmod u+rx,g-w,o-rwx text.c//可以组合操作权限的增减
chmod a-rwx text.c//对所有角色减去读、写、可执行权限
只有文件的拥有者和root才能对文件角色的权限进行更改。
root不受角色权限的约束。
3.4角色的更改
sudu chown jly2 text.c//把text.c的拥有者改成jly2
sudo chgrp jly2 text.c//把text.c的所属组改成jly2
sudo chown jly2:jly2 text.c//把text.c的拥有者、所属组改成jly2
拥有者、所属组更改后,other也变了,所以other不用特意改。
3.5文件权限的八进制修改方法
三三为一组,非-位用二进制1填充,-位用0填充,得到角色权限的二进制,在将这些二进制转化为八进制,即可使用八进制来表达角色的权限。
chmod 000 text.c//用权限的八进制更改text.c的权限
3.6目录的起始权限及权限掩码umask
Linux规定,目录的起始权限从777开始,普通文件的起始权限从666开始。
[jly@VM-4-11-centos text]$ umask
0002//第一位不管,系统会默认配置好权限掩码为002,即000 000 010
凡是在umask中出现的权限,必须在起始权限中去掉,即最终权限=起始权限&(~umask)。
所以,我们创建出来的目录的权限是775(rwx rwx r-x),普通文件的权限是664(rw- rw- r--)。
umask 0444//更改umask的值,即100 100 100
修改后创建出来的目录权限变为333,普通文件权限变为222。
4、目录的权限
目录的r权限:能否查看目录中的文件。
目录的w权限:能否在目录中创建文件。
目录的x权限:能否进入、执行目录中的文件
所以,目录的起始权限从777开始,是因为所有角色都需要x权限进入目录。
四、粘滞位(公共目录使用)
Linux系统中有很多人,我们需要在一个公共的目录下,进行临时文件的操作(增删查改)。这个公共目录由root来创建。
在这个公共目录中,通过文件自身的权限来约束不同的角色,但是无法阻止其他用户私自删除这些文件。因为在目录中删除一个文件,与这个文件本身无关,与它所处的目录的写入权限有关。
这个公共目录的拥有者和所属组是root,粘滞位会限制other的权限。
chmod +t /mytmp //在/目录下的mytmp目录中加上粘滞位
drwxrwxrwx
drwxrwxrwt
加上粘滞位后,该公共目录的other的x权限变为t,也就是该目录下other的可执行权限变为粘滞位,其他用户无权删除不属于他的文件。
五、权限总结
1、目录的可执行权限是表示你可否在目录下执行命令。
2、如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
3、如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
14天阅读挑战赛
【Linux】Linux文件权限的理解相关推荐
- linux两种方式改变文件权限,Linux更改文件权限的两种方式
今天小编要跟大家分享一篇关于Linux更改文件权限的方式,喜欢Linux的小伙伴来看一看吧. 我们知道·Linux系统最主要的特点之一就是--Linux系统是多用户.多任务的操作系统. 何为多用户?就 ...
- linux用数字方式显示文件权限,全面解析Linux数字文件权限
在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细介绍一下数字文件权限和字母文件权限的对应关系,以帮助Linux入门初学者尽快的完成对文件权限的理解,尽快学习Linux系统更深层次内容. ...
- 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置
第六章.Linux的文件权限与目录配置 最近更新日期:2009/08/18 Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要 ...
- linux php后门,Linux_一个初级的linux后门制作方法,众所周知,Linux的文件权限如: - phpStudy...
一个初级的linux后门制作方法 众所周知,Linux的文件权限如: 777;666等,其实只要在相应的文件上加上UID的权限,就可以用到加权限人的身份去运行这个文件.所以我们只需要将bash复制出来 ...
- linux中文件权限 组,linux中文件权限格式与chmod命令以及用户和用户组的管理
简单了解一下linux中的文件权限格式与chmod命令 chmod命令:改变文件或者目录的权限 格式:chmod [参数] [] -R 或者--recursive 递归处理,表示将指定目录下的所有文件 ...
- linux基础学习——linux的文件权限和目录配置
linux基础学习--linux的文件权限和目录配置 1.用户和用户组和其他人概念: 三个概念的前提宗旨:linux是一个多人多任务的系统环境.如果不对文件作出一个权限限制的话.任何人都能操作这份文件 ...
- Linux之文件权限命令
Linux之文件权限命令 1. chmod命令的介绍 命令 说明 chmod 修改文件权限 chmod修改文件权限有两种方式: 字母法 数字法 2. chmod 字母法的使用 角色说明: 角色 说明 ...
- Linux 的文件权限与目录配置
第六章.Linux的文件权限与目录配置 最近更新日期:2009/08/18 3. Linux目录配置 3.1 Linux目录配置的依据--FHS:/,/usr, /var 3.2 目录树(direct ...
- linux文件目录含义,Linux中文件权限目录权限的意义及权限对文件目录的意义
linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括增加删除文件的具体内容: x:文件就具有了可执行的权限-------注意:这里和w ...
- linux修改文件权限的命令_Linux基础文件权限管理
图片来源:pexels.com 你好,我是goldsunC 让我们一起进步吧! Linux文件属性 文件权限在Linux基础中是一个很重要的概念,一个系统管理员应该熟练掌握文件权限的概念.OK,现在我 ...
最新文章
- 安装配置Statspack
- excel 科学计数法转换成文本完整显示_避免万次暴击,巧办法解决数字和文本之间的快速转化...
- android纯白背景加灰,Android背景颜色设置为灰色而不是@android:颜色/白色
- ios 获取一个枚举的所有值_Java enum枚举在实际项目中的常用方法
- java入门第六天课程_Java基础知识——第六天
- linux基础知识——环境变量
- mybatis oracle 大写,解决mybatis用Map返回的字段全变大写的问题
- TensorFlow笔记(2) 常量与变量
- 云计算技术前景怎么样?
- 六个角度深层区分ERP和MES的不同!
- 产品上线过程中犯下的错误
- leapmotion 初识
- iso 绝对pe_深度 WinPE 4.2 维护光盘ISO(含U盘PE制作工具) 下载地址
- C语言练手项目—流星雨表白—程序员的浪漫—脱单神器
- 种基于局域网的点对点语音通信
- 清华大学计算机学院院庆,清华计算机系2014年校庆系列活动
- php mysql 金钱_PHP实现货币换算的方法
- uniapp uview 1.x设置遮罩层全屏loading
- 【Html】段落排版--行间距(行高)
- 大数据早报:百度开源移动端深度学习框架 中国联通成立大数据公司(9.26)