Linux权限下

  • file指令
  • 目录的权限
    • x权限
    • r权限
    • w权限
  • 文件的默认权限
    • umask码
    • 修改umask码
  • 粘滞位
    • 背景
    • 谁能删除设有粘滞位的目录下的文件?
    • 设置粘滞位的注意事项

file指令

在此之前我们先了解一个指令,这个指令可以让我们更详细的了解文件的具体类型,虽然说在Linux中文件不区分详细的文件类型,但是为了方便我们人,我们可以通过该命令查看文件的具体文件类型!

语法 :file 目录或文件名
功能: 查看目录或文件的具体文件类型;
常用选项
-z :尝试去解读压缩文件的内容 ;
-c : 详细显示指令执行过程,便于排错或分析程序执行的情形;
实际演练

比如现在我们知道test1.txt文件在Linux中就是一个普通文件,但是我们想看一看它到底有多普通:
我们就可以利用命令file test1.txt

我们也可以来看看其他文件类型,比如压缩文件的:

目录的权限

通过上节课的学习我们知道了文件的基本属性主要分为3个,r(读)、w(写)、x(执行);
这三个基本普通文件来说我们很好理解,但是对于目录来说又是什么意思呢?
现在我们提出一个问题?
进入一个目录需要那个权限呢?

x权限

1、假设需要r权限:

假设我们以lesson1目录为例,现在这个目录所有属性都有了,对应的身份的权限也是一应俱全,现在我们的身份是wzy:
对应lesson1文件也就是文件拥有者,刚才我们假设了目录没有r属性就不能进入了目录,现在我们所有权限都有了,我们肯定能进入目录,那现在我们取消文件拥有者的r目录,看一看能否正常进入目录:


我们可以发现在没有r权限的情况下,我们依旧轻松的进入了目录,这说明能不能进入一个目录不是由r权限决定的!
2、假设是w权限决定的:

我们先恢复原样,保持与取消r权限时候的状态一样:
现在我们来取消w权限,并进入目录:

我们遗憾的发现,w权限也不是决定一个目录能否被“进入”的权限!
3、假设需要x权限:

现在取消x权限,并尝试进入目录:

我们发现只有当x权限被取消的时候,我们无法正常进入lesson1目录(当然除了root这个老6,无视任何权限!),由此可以粗略的发现能不能进入一个目录,关键是要看这个目录是否对文件访问者开放x(可执行权限)!
总结:进入一个目录,需要目录对访问者开放x(可执行权限),就算目录有x权限但是对于其他人(other)来说没有,那么照样处于other这个角色的访问者也无法进去目录,x权限就像一把打开,目录的钥匙!

既然我们知道了x对于目录来说相当于“钥匙”的作用,那么r、w权限对于目录来说又起着什么样的作用呢?

r权限

其实理解这个问题并不难,我们说过Linux下一切皆文件!咱们先把目录也当作一个文件,那么对于一个文件来说,没有了r权限我们就不能对该文件进行读取操作,那么对应到目录中来,如果一个目录没有了r权限是不是就意味着看不到该目录下的文件了呢?
我们接下来,来实验一下:

先取消lesson1目录的r权限:

接着我们利用ll命令来读取一下:

系统告诉我们权限拒绝!
我们再用tree命令试一下:

系统告诉我们打开错误!
这些例子都说明了对于一个目录来说取消了r权限,我们就不能读取该目录下的所有文件了;
总结:r权限决定了一个目录是否可被读取,如果该目录对于对于角色没有相应的r权限,那么访问者是无法读取该目录下的所有文件和文件的详细信息的!

w权限

类似于上面的r权限那样理解,对于一个目录来说没有了w权限是不是就意味着不能再该目录先创建文件了?

首先日常取消w权限:

接着我们变进入lesson1目录,并尝试开始建一个新文件:

既然不能创建,那我删除总可以吧?

总结:通过上面的测试我们可以发现,当一个目录对对相应角色的访问者不开放w权限时,那么访问者无法在该目录下进行“写入”、“删除”等操作!!!因此我个人觉得w权限不应该叫做可写,应该叫做可修改,修改一词既包括了写入这一操作又包括了删除这一操作!

文件的默认权限

我们有没有发现,我们在创建出一个文件过后,这些文件会“与生俱来”的自带一些属性:比如
我们发现我们创建的三个普通文件“与生俱来”的属性就是:664
我们再来看一看假设我们创建的是目录呢?
它的默认权限是不是也是664?

我们可以发现目录的默认权限是不一样的,目录的默认权限是:775
那么为什么它们的默认权限会是这样呢?

umask码

为了解决上面的疑问我们必须先理解一下关系:
我们现在所看到的权限(默认权限):比如664、775,这些叫做最终权限;
而对于普通文件或者目录来说它们是由起始权限的,比如普通文件的起始权限就是666,目录的起始权限就是777;
那么为什么这两者的起始权限会不一样?
这主要是因为普通文件的执行权限一般都比较重要不能乱给,必须由文件所属者进行分配,故普通文件的起始权限默认不带x权限,而对于目录来说就不存在,一个目录要是都没有x权限,进都进不去那么这个目录创建出来也就毫无意义!

好现在我们理解了起始权限,但是离我们看到的最终权限也还是有一点距离!
这时我们就需要来解释一下umask码,也就是权限掩码,我们最终所看到的默认权限就是起始权限经过与umask码相结合得出来的;
主要操作过程就是umask码中有的起始权限里面不能有! 就这一条:转换成最终权限的公式就是:
最终权限= 起始权限&(~umask码)
umask码一般是由系统默认给的,系统默认给的对于普通用户来说是002,这个我们可以利用umask命令查看:

对于root用户来说,默认的umask码为:022
其中第一个0与特俗权限有关,我们可以暂时不用理会!
接下来我们就利用刚才的公式来验证一下普通文件的默认权限:
作为普通用户,umask码默认为002,转为二进制:000 000 010
普通文件的起始权限就是:666,转为二进制: 110 110 110
110 110 110 & (~000 000 010)=110 110 100 也就是rw_ rw_r_ _与我们实际创建出来的普通文件的默认权限是想吻合的;
我们再来验证一下目录呢?
起始权限:111 111 111
默认权限=111 111 111 & (~ 000 000 010)=111 111 101 也就是rwxrwxr_x同样与我们创建出来的目录的默认权限相吻合!

修改umask码

我们刚才在上面umask码像什么002、022都是默认的、系统自己设定好的,那么我们可不可以去更改呢?答案是当然可以!我们需要去利用命令umask xxx xxx表示3个八进制数,如现在我们将其设计成111;

那么根据修改过后的umask码,我们作为普通用户创建出来的普桶文件的默认权限就应该是:
110 110 110 & (~ 001 001 001)=rw_rw_rw_,我们现在来验证一下:

我们可以发现,的确是这样子的;
按照惯例我们再来验证一下目录的默认权限:
111 111 111 & (~ 001 001 001)=110 110 110=rw_rw_rw_,我们来验证一下:

我们可以发现同样是与我们理论相符合的!

粘滞位

背景

在将述粘滞位之前,我们先来了解一下它的产生背景,这样有助于我们更好的理解它:
我们都是到,在home目录下面一般都会有多个普通用户,普通用户之间是无法查看彼此工作目录下的内容的!:

但是有时候我们为了工作需要,我们普通用户之间需要进行信息交互啊,我总不能把我工作目录的other权限给开了吧!我这目录下可是有隐私的东西,不是所有的东西都都想拿出来被别人看,于是呢,为了解决这个信息交互的问题!我们创建了一个共享目录,在这个目录下面我们所有的普通用户只需要将需要进行交流的文件拷贝到共享目录里面去,有需要的就去这里面进行查阅或进行修改,共享目录的创建者一般都是root;这样两全其美的办法可谓是美哉!
实际上咱们也是这么干的,比如我现在就创建了一个共享目录:

在共享目录里面我们可以进行信息交互:

比如现在我就可以查看ikun这个用户的文件(我现在是wzy):

当然我也可以对该文件进行修改,前提是文件所属者给我把w权限开启了!现在ikun这个拥有者没有为我(wzy)开启w权限,我无法修改cxk.txt文件里面的内容,于是我恼羞成怒,我一口气就将cxk.txt文件删除了,大家说我能删掉吗?

答案是可以删掉!!!这时就会有小伙伴有疑问了!cxk.txt文件都不是wzy的,为什么wzy可以删除它呢?这是Linux的bug吗?
答案是:当然不是!!
首先我们身处与ShareDir这个目录下吧,我们再来看一看这个目录对与other所开放的权限:

我们可以发现ShareDir目录对other开放了w权限,加上w权限过后other自然也就拥有修改ShareDir目录下的内容的权力!自然而然我wzy可以删除ikun的文件!那么又没有什么办法制裁我(wzy)恶意删除别人的文件呢?
1、取消ShareDir中other的w权限;
可是这样做似乎一棒子打死了,取消了w权限我们所有普通用户都不能删除ShareDir目录下的文件了,但是同时我们也无法创建文件了,这样的共享目录有什么意义,我都不能创建文件了,还怎么进行信息交互!这样的ShareDir名存实亡!!!!

那么难道就没有更好的方法来制裁我(wzy)恶意删除别人文件的行为了嘛?
当然有,这不粘滞位这一技术不就应运而生!!
我们可以在共享目录对于other权限这一栏加上t(特殊权限)来防止上面这样恶意行为:
命令chmod o+t ShareDir(我们执行该命令的时候需要root的权限)

我们再去切换成普通用户:

我么可以发现当我们再去删除ikun的文件的时候,系统直接提示我们权限拒绝;这下我(wzy)终于无法恶意删除别人的文件了!!!!

谁能删除设有粘滞位的目录下的文件?

1、文件所属者;
2、当前目录的所属者;
3、root

设置粘滞位的注意事项

同时我们设置粘滞位的时候需要注意
1、粘滞位权限都是针对其他用户(other)设置,使用chmod命令设置目录权限时,“o+t”、“o-t”权限模式可分别用于添加、移除粘滞位权限。
2、粘滞位权限只能针对目录设置,对于文件无效

Linux权限(下)相关推荐

  1. linux中如何授权限,Linux系统下,为普通用户授权。

    Linux系统下,如何为普通用户授权 编辑sudoers vi /etc/sudoers(visudo) 添加如下内容 fly ALL=(ALL) ALL  (为普通用户fly赋予root权限) 第一 ...

  2. Linux环境下提升普通用户权限(sudo)

    一. Linux环境下提升普通用户权限(sudo) 用sudo让普通用户获得超级用户的一部分权利,能够做超级用户才能做的事情,还能够对普通用户身份做一些限制,指定某一个或某几个人来做,并且普通用户不需 ...

  3. linux 普通用户退出vim,Linux环境下VI/VIM编辑文件时无权限保存的解决方法(普通用户)...

    在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有s ...

  4. 帝国php在linux下怎么下载,Linux系统下安装帝国cms给哪些文件权限

    最近买了一台Linux服务器,在安装帝国cms的时候,提示没有安装权限,于是,仔细查看发现,linux环境下权限都是要自己手动加的. 下图是我们在安装帝国CMS时的一张截图,由于初期的权限问题,导致许 ...

  5. linux 默认文件属性,linux系统下文件的默认权限以及隐藏属性的作用

    [摘要] 操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序.操作系统需要处理如管理与配置内存.决定系统资源供需的优先次序.控制输入设备与输出设备.操作网络与 ...

  6. jieba分词单例模式及linux权限不够情况下tmp_dir自定义

    在linux环境下,没有root权限的情况下,有时会碰到如下问题: Building prefix dict from the default dictionary ... Loading model ...

  7. Linux环境下为普通用户添加sudo权限

    1.背景: sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部root命令的一个工具.Linux系统下,为了安全,一般来说我们操作都是在普通用户下操作,但是有时候普通用户需要 ...

  8. linux系统下的权限知识梳理

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明. linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用 ...

  9. linux下tomcat的访问权限,关于Linux权限引起的Tomcat项目404问题

    今天遇到了一个很奇怪的问题,搞了半天原来是Linux权限造成的 介绍一下问题,一个订单详情页面请求,如下图,应该正常显示页面 今天遇到的问题是,依然是这么一个url,访问时候却成了404页面了. 乖乖 ...

最新文章

  1. 区块链系列4-智能合约
  2. [征求意见]团队发展、技术交流主题、团队机构
  3. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导
  4. 周末狂欢赛2(冒泡排序,概率充电器,不勤劳的图书管理员)
  5. select count(*)底层究竟干了啥么?
  6. github 进阶说明
  7. cms安装教程Linux,DoraCMS安装教程(linux)
  8. Filter过滤器链(多个过滤器)
  9. iphone分屏功能怎么用_你用iPhone手机,没学会这7个功能,难怪会说手机不好用...
  10. 19SpringMvc_在业务控制方法中收集List集合中包含JavaBean参数
  11. 16QAM-调制解调MATLAB
  12. 简单的C语言代码实现快速排序
  13. npm install报错的一天
  14. 首发全DIY强大微信朋友圈截图制作生成小程序源码下载点赞,评论等等
  15. 2010年软件业十大新闻事件
  16. 最好的jpg转pdf软件
  17. Codeforces - Serge and Dining Room
  18. java similarity_Java WordNet Similarity
  19. 生物信息学测序之常见测序方法DNA文库构建
  20. 取消耳机孔的 4 年后,苹果居然把耳机卖到了四千块

热门文章

  1. win7家庭版桌面没有计算机图标,Win7 home basic家庭普通版显示桌面图标的方法
  2. 第7章第22节:双图排版:两张图片并列靠边对齐 [PowerPoint精美幻灯片实战教程]
  3. 步步为营Hibernate全攻略(三)剪不断理还乱之:多对多关联映射
  4. Edify Script (Android Shell)定制Twrp刷机包
  5. easypoi导出EXCEL表格,WPS能打开,OFFICE打不开问题
  6. 内存不能为read大全
  7. 第3章 信息系统集成专业技术知识
  8. TortoiseSVN配置外部对比工具
  9. 编写Java程序,做一个MPG和L/100KM的转换器
  10. springboot2.x 集成百度 ui-dgenerator生成分布式唯一id