Linux文件权限

2023-11-13

在这里插入图片描述

一,对shell外壳的理解

1,对shell外壳的理解

shell外壳是包裹在linux内核(kernal)外的一层软件层,就像linux操作系统内核的一个外壳一样,故成为shell外壳。但是我们一般的用户不能直接使用kernal,而是通过shell外壳建立起与kernal的交流。
shell对于linux操作系统就像GUI(图形化界面)对windows系统,我们在使用windows操作系统的机器时,并不是直接对Windows操作系统内核直接操作,而是通过图形化界面建立起用户与操作系统之间的联系。
shell对于Linux系统的作用就是,把我们用户输入的命令行操作进行解析,解析后传给linux内核,将运行的结果返回给用户。
在这里插入图片描述

用户与操作系统的沟通实际上是像下图这样进行的
在这里插入图片描述

举一个非常形象的例子:
shell外壳就像我们生活中的媒婆一样,比如你是一个内敛闷骚的程序员,你喜欢上了一个女孩叫如花,但是你不敢去和如花去表达爱意,这时你就请了一个媒婆替去给如花提亲,所有的事都是你和媒婆之间交流,你的各种想法都是媒婆替你转达给如花的,如花对你的各种看法也是通过媒婆来回答你的。

2,shell外壳的作用

1,对用户的指令进行解析,将解析的命令传给Linux操作系统,然后将运行的结果返回给用户。
2,是对Linux内核的一种保护。
这个很好理解:
shell不会把用户的任何指令都会传达给Linux操作系统,比如一些对操作系统不友好的指令,就像媒婆也不会把你某种不利于女方的要求传达给女方一样。

3,shell与bash的关系

shell是对linux操作系统内核的外部程序的总称,而就像bash这种是Centos下的一种外壳程序。
换句话说,媒婆是对成各行业的称呼,而王婆,李婆是具体的一个媒婆,与bash相同。

二,文件的权限

1,如何理解权限

首先,权限是用来限制用户的某些行为。在Linux操作系统下,用户分为两种一种是超级用户:root,它不受权限的控制。另一种,就是普通用户,权限限制的就是这些用户,与现实生活类似,权限都是用来限制普通人的。
权限=人+事物属性
所谓的人就是指的用户,在Linux系统下,就拿普通文件来说,具有读写执行的属性,但是对不同的角色,权限也是不同的。
所以,同一个用户在对一个文件处于不同的身份时,所具有的权限也是不同的。

2,如何查看文件的权限

ls -l 命令就可以展示出文件的详细信息,包括文件的权限在内
在这里插入图片描述
在这里插入图片描述

3,文件都有哪些权限

在这里插入图片描述

前十列中的后九列,三三一组,分别代表的是拥有者,所属组,other拥有的权限
r是读权限
w是写权限
x是执行权限
拿test.c这个文件来说,对于拥有者和所属组都具有读和写的权限而没有执行的权限,对于other来说,只有读权限。
在这里插入图片描述
“我”现在是guoye是test.c文件的拥有者,可以查看文件的内容。

4,角色的划分

对与一个文件来说,将用户划分为三个角色,分别是拥有者,所属组,和other
拥有者就不用多说了,就是文件的拥有者,谁创建的谁就是拥有者
这里重点讲一下所属组的概念:
下面举个例子
现在好多大的互联网公司,业内有一个制度,就是多组人员干相同的工作,这种赛马制度。
小明和小红是今年公司招来的实习生,被分配到了不同的组,但是干的工作是一样的
在这里插入图片描述

公司的领导呢,创建了两个目录,一个作为A组的工作目录,一个作为B组的工作目录,
有一天呢,小明完成了他负责板块的工作,他组内的另一个员工阿U想看看他的代码,但是小明的文件给other设置的权限为不可读不可写不能执行,阿U对于这个文件是other不具有读的权限,这时呢,小名就把阿U及其他组员作为文件的所属组,此时不仅小明可以读自己的代码,所属组的阿U也可以读小明的代码。
所谓的other,就是拥有者和所属组之外的用户。

5,权限操作

在这里插入图片描述
权限=人+事物属性
首先,文件的拥有者可以对文件的属性进行修改
也可以对文件的拥有者和所属组进行修改

(1)修改文件属性

chmod u/g/o ±rwx 可以对文件的属性进行修改,前提那得是文件的拥有者,或者是root
在这里插入图片描述
例如:对于test.c文件给other添加w权限 chmod o+w test.c
在这里插入图片描述
也可以同时对拥有者所属组和other进行修改
例如:给拥有者 所属组 和other 都加上 x可执行的权限
chmod u+x,g+x,o+x 或者 chmod a+x (a是all的意思,u是user,g是group)
在这里插入图片描述
对于r w x 如果有某种权限就是1,没有就是0
所以当某种角色有rwx权限时,就是 111 转化成八进制就是7
某种角色有rw权限是,就是110转化成八进制就是6
注: r w x的位置是固定的
也可以这样来改文件的属性:
chmod 000 test,c 意思就是,无论是拥有者还是所属组还是other都不具有rwx中任意一个权限
在这里插入图片描述
像 000这样表示文件的属性,也叫做权限的八进制表示法

(2)修改文件的拥有者所属组

修改文件的拥有者和所属组,即使你是文件的拥有者也是不可以的。
例如:你要给别人某样东西,别人可能会要,也可能不会要,要得到别人的允许你才可以把东西给别人,所以我要改变文件的拥有者,所属组即使我是文件的拥有者也不可以,
但是root可以,因为root是超级管理员不受任何约束。
所以,这里不得不提一个指令 su
在此bash下切换用户的身份,从普通用户切换到root,但需要输入root的密码。(ctrl+d退出)
chown XXX test.c 修改文件的拥有者
chgrp XXX test.c 修改文件的所属组
在这里插入图片描述
chown XXX:XXX test.c 将文件的拥有者和所属组都改为XXX
在这里插入图片描述
注意:所有的更改文件的所属组,拥有者都是在切换到root身份下进行修改的,
或是sudo提权某项指令

三,目录权限

1,目录各种权限代表什么

在这里插入图片描述

对于普通文件来说 r就是读 w就是写 x就是执行文件,但是rwx对于一个目录来说分别是代表什么呢?
x :如果没有x权限那么就不能够进入到该目录内
在这里插入图片描述
r:没有r权限就不能列出该目录下的文件名和文件属性
在这里插入图片描述
w:没有w权限就不能在该目录下创建文件或删除文件
在这里插入图片描述

2,粘滞位

讲到粘滞位,首先要讲述一种工作环境,root用户为一个小组创建了一个共享目录,为了是所有人都可以在此目录下可以创建自己的文件进行工作,但是会出现一种情况就是可能会不小心删掉了别人创建的文件,因为创建的共享目录下 other是具有w权限的为了每个人都能创建文件,如果为了防止误删别人的文件而把w权限去掉,那么同样也不可以在共享目录下创建文件,所以就诞生了粘滞位这个概念。
chmod +t public 为共享目录添加粘滞位
粘滞位的出现就解决了这个问题,每个人都可以在共享目录下创建文件,同时也不能删除别人的文件。
在这里插入图片描述
在这里插入图片描述

四,权限掩码-umask

1,权限掩码与默认权限的关系

无论我们创建文件还是目录,似乎创建完成后文件就具有默认的权限,例如普通用户创建的目录默认权限是775 文件是664 ,这些默认权限就是我们最终看到的权限也就是最终权限,起始操作系统赋予的起始权限是777和666(不是所有的文件都能执行)
我们看到的最终权限是从起始权限中去掉了umask掩码中带有的权限。
在这里插入图片描述
我们主要看后三位002 其中 2代表other拥有w权限,所以我们的最终权限要从起始权限中去除掉这个权限,并且不能影响其他权限。
用公式表达就是:最终权限=起始权限&(~umask)

3,修改权限掩码

umask掩码同样可以被修改
在这里插入图片描述
将掩码修改为007后,新创建的文件默认权限就变为了660

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux文件权限 的相关文章

随机推荐

  • python异常

    一 什么是异常 异常是一个事件 该事件会在程序执行过程中发生 会影响程序的正常运行 一般情况下 python无法正常处理一个异常 会导致程序中断 在出现异常时 为了不影响程序的正常运行 我们需要捕获异常 在python中异常是一个对象 表示
  • UE4 C++创建继承于UEditorSubsystem类时报错

    使用UEditorSubsystem需要在Build cs里加上EditorSubsystem模块的引用 因为这是编辑器模块 if Target bBuildEditor PublicDependencyModuleNames AddRan
  • 人工智能在电力系统中的应用前景怎么样

    人工智能在电力系统中的应用现状 随着人工智能技术的兴起 人工智能技术应用在电力系统的运行 控制 管理等领域 人工智能技术在电力系统中的应用不仅拓展了人工智能技术的应用范围 而且扩展了人工智能技术凭借自动化和智能化程度高等优势 提升了电力产业
  • cmake:cmake-buildsystem

    介绍 基于cmake的构建系统被组织为一组高级逻辑目标 每个目标对应于一个可执行文件或者库 或者是一个包含自定义命令的自定义目标 目标之间的依赖关系在buildsystem中表示 以确定生成顺序和响应更改的重新生成规则 二进制目标 可执行文
  • 为什么要软件测试?测试可追溯性会带来什么改变?

    我们为什么要软件测试 测试证明我们的应用程序运行正常 可追溯性 或能够将需求追踪到测试用例 构成了测试策略的基础 测试可追溯性是将测试链接到一组需求并验证应用程序是否按预期工作的能力 当你的产品规模扩大时 可追溯性很重要 当你的应用很小的时
  • 使用VS2019开发和调试Linux程序

    文章目录 一 前言 二 安装vs2019环境 三 步骤 1 创建项目 2 配置工程属性 3 编译工程 4 启动程序 四 CMAKE 1 步骤 总结 一 前言 目前 越来越多的项目有需求在Linux平台上编译运行 为了兼容windows程序员
  • # 关于conda install 和conda create 环境安装包的网络配置相关问题解决

    关于conda install 和conda create 环境安装包的网络配置相关问题解决 问题 CondaHTTPError HTTP 000 CONNECTION FAILED for url 1 问题主要描述 2 换国内源的解决方案
  • MFC 当列表控件为Report报表形式时,怎样实现修改表格数据

    声明 本文例子是双击任意位置处的表格数据 实现对当前位置的单元格数据进行修改 1 首先是实现在列表控件中显示表格数据 具体代码这里不描述 显示效果如下图 2 现要实现如声明所说的功能 就是双击某个单元格弹出一个对话框输入新值 再用新值去替换
  • 沃通SSL证书、国密SSL证书、IPSSL证书,2023中秋国庆双节钜惠

    2023中秋国庆喜相逢 沃通CA特此推出 迎中秋 庆国庆 沃通SSL证书双节钜惠 活动 即日起至2023年10月18日 沃通SSL证书 国密SSL证书 IP SSL证书等多款热销SSL证书产品优惠来袭 沃通全球信任SSL证书 助力数据安全保
  • centos7 安装ftp,虚拟用户模式

    记得需要先 systemctl stop firewalld 关闭防火墙 setenforce 0 关闭selinux 安装ftp yum y install vsftpd 先备份文件 cp etc vsftpd vsftpd conf e
  • MatConvnet工具箱使用手册翻译理解一

    转载自 http blog csdn net enjolras fuu article details 53676046 概述 MatConvNet是用于MATLAB的卷积神经网络 CNN 的实现 工具箱的设计注重简单性和灵活性 它将CNN
  • 全新链游【恐龙世界/侏罗纪】游恐龙世界NFT链游区块链上链质押盲盒NFT游戏PK对战

    恐龙世界 一 项目介绍 名称 等级 狩猎值 攻击力 暴龙 SR 350 300 霸王龙 R 300 200 三角龙 A 250 150 剑龙 B 200 120 雷龙 C 100 100 每一只恐龙都有饥饿值 进行狩猎会减少饥饿值 没有饥饿
  • ubuntu 打开mysql配置文件_ubuntu下修改MySQL的配置文件my.cnf

    先sudo su转换成root 再用cd转到 etc mysql目录下 用chmod修改权限 chmod 755 my cnf 但这样还不能修改 再用vi命令 sudo vi my cnf 通过上下方向键将光标移到 client 下面的空行
  • 转录因子分析预测 cistrome db

    Toolkit for CistromeDBhttp dbtoolkit cistrome org 基因表达调控系列问题汇总 持续更新 知乎 zhihu com
  • CCF C³-23@阿里妈妈:数智商业技术丨开始报名

    CCF C 活动第二十三期主题是 数智商业技术 将于2023年9月14日周四 18 00 21 30 在北京市朝阳区阿里中心望京A座阿里妈妈举行 报名从速 2023年 可以说是属于生成式AI大模型的一年 从去年年底持续到现在的 以生成式AI
  • CVE-2023-23752:Joomla未授权访问漏洞复现

    CVE 2023 23752 Joomla未授权访问漏洞复现 前言 本次测试仅供学习使用 如若非法他用 与本文作者无关 需自行负责 一 Openfire简介 Joomla是一个免费的开源内容管理系统 CMS 允许用户构建网站和在线应用程序
  • VUE React Angular

    Typescript ES6 ES5 React 专注于使用 Javascript ES6 Vue 使用 Javascript ES5 或 ES6 Angular 依赖于 TypeScript 模板 JSX 还是 HTML React JS
  • 厉害,被马赛克的图片竟然还可以恢复

    文章首发于微信公众号 GitHub 精选 欢迎大家关注 大家好 我是章鱼猫 其实之前在我用马赛克对图片进行模糊处理的时候 我就思考过这个问题 这些被马赛克的地方能不能被恢复出来 万一能恢复 当时就觉得细思极恐 你说巧不巧还真能恢复 在介绍今
  • DataGrid后台实现选中某一行,并滚动到当前选中项

    定义一个DataGrid
  • Linux文件权限

    Linux文件权限 一 对shell外壳的理解 1 对shell外壳的理解 2 shell外壳的作用 3 shell与bash的关系 二 文件的权限 1 如何理解权限 2 如何查看文件的权限 3 文件都有哪些权限 4 角色的划分 5 权限操