Linux—文件的权限

前言

我们知道,在Linux中一切皆文件。

Winodow系统也是如此,先拿我们熟知的Window系统举例。

vs编译软件,在我们桌面上的图标,他只是一个快捷方式,双击它会直接去找到该应用程序的所在位置。

我们查看它的属性去查看它的所在位置:

我们会发现,其实它就是一个文件。

我们在日常用的windows系统中,在电脑上打开软件我们可以选择以管理员身份去运行该软件。

Windows 中有两种类型的帐户:标准用户帐户和管理员用户帐户。管理员帐户可以配置系统设置并访问通常受限制的操作系统部分。

管理员角色的目的是允许对操作系统的某些方面进行更改,否则这些方面可能会被普通用户帐户意外(或通过恶意操作)损坏。

那么接下来,我们来说下,如何管理文件的权限?

一、文件的权限

1、文件权限属性

权限=用户角色(具体的人)+文件权限属性

我们拿图说明:

我们创建一个文件file.txt之后,ll 查看111目录下的文件,可以看到file.txt文件权限属性

位于最前面的这一串字符便是file.txt的权限属性,那它是什么意思呢?

我们在学校,经常会交一些文件,例如你们小组要做一个汇报,汇报内容在一个文件夹里,你自己可以查看、修改是自己的权限,因为你是该文件的拥有者。你把汇报内容搞完之后发到自己的小组群,他们是否能查看、修改又是他们的权限,他们就是你的所属组。你汇报内容写的很不错,被发送到群里作为示范,群里的其他人能否查看、修改,又是他们的权限,他们就是其他人。

所以我们这串字符表示的权限是不同的三个角色的权限,-rw-rw-r--,十个字符,最开始的-表示的是该文件是一个普通文件,关于它的具体内容我们待会讲解。

剩下的九个字符,三三分开,分别对应拥有者、所属组、other。

这里的拥有者、所属组、other就是我们的用户角色

所以rw-就是你自己的权限,rw-是你所属组成员的权限,r--又是other(其他人的权限)。

那么这些人r、w、-这些字符又代表什么权限呢?

文件的属性权限:r:读权限 w:写权限  x:可执行权限

如果三个权限都有的话,按顺序来就是rwx,上面拥有者和所属组第三个字符为-和other第二个和第三个字符都为-的原因是,拥有者和所属组都只有读和写权限,而other只有读权限。没有的权限都会用-来代替,这里的-与第一个字符是-表达的意义不一样,前者表示权限有无,后者表示文件类型是普通类型。

2、角色

我们在文件权限后面有 hyl hyl人名称的缩写,第一个便是拥有者,第二个便是所属组,至于other,在拥有者和所属组之外的都是other。

二、文件权限有无的表现

1>快速修改权限的做法

1、文件权限谁能修改

a.拥有者

b.root(不受限制)

把超级用户root当成你的老板。。。。

我自己的文件,假如我不想让我的组员和其他人修改,只想让他们读,那么我们需要修改他们的权限,这里修改权限需要用到一个指令-chmod

我们可以看到,所属组的w权限没有了。

那么,我又想让自己(拥有者)有可执行权限呢?

可以看到,我们有了x权限。

chmod指令的使用方法为:1、chmod 角色+/-权限 文件名(一次只能对一个角色修改权限)

                                           2、chmod 角色+/-权限角色+/-权限 文件名(一次修改多个)

                                           3、chmod 角色 a+/-权限 文件名(全部修改)

使用这个指令时角色的名称为 :    u:拥有者      g:所属组     o:other  

权限便是  r、w、x

举例:chmod u-w file.txt 让拥有者丢失对file.txt文件的修改权限。

           chmod g+x file.txt 让所属组拥有对file.txt的可执行权限。

           chmod o-r file.txt 让other丢失对file.txt的阅读权限。

2>修改权限后的影响

这里我用拥有者的身份给大家讲解

1、角色修改

这里修改角色,我们只能用root账号去修改角色,也就是去修改拥有者、所属组。

这里涉及到的指令为 chown、chgrp

用法:1、修改拥有者 chown 角色 文件名

           2、修改所属组 chgrp 角色 文件名

2、文件属性修改

a.读权限

这里可以看到,我们去除拥有者的读权限之后,我们cat file.txt并没有将我们写进去的Hello Linux 打印出来,这也证实了我们要查看文件内容需要有读的权限。

b.写权限

我们关闭写权限时,我们发现我们echo "Good!!!" > file.txt 并没有将我们的内容写进去,所以我们如果想要写内容进去,是需要写权限的,删除亦是如此,修改内容需要写权限。

c.可执行权限

如果我们是一个程序,我们有可执行程序的话,我们便可以执行这个程序。

3>权限存在的意义

保证普通用户的文件的一般安全性!!!

三、修改文件属性权限的第二套做法

我们可以将rwx看成三个二进制位,无就是0,有就是1,rwx就是111。我们再将二进制数转化为八进制,比如rwx 111 就是7 ,我们在全部修改的时候,可以直接 chmod XXX file.txt

假如我们想改成- rwx rw-  -wx ,rwx对应的二进制为111,八进制为7。rw-对应的二进制为110,八进制为6,-wx对应的二进制为011,八进制为3。那么我们在全部修改的时候,就可以用这种的方式去修改:chmod 763 file.txt。

可以看到,已经改成了我们想要的样子。

四、文件类型


在我们window系统中,不同的文件都有不同的后缀名,借此来区分不同的文件类型。

但是Linux系统不通过后缀名区分文件类型!!!

1>那它怎么区分呢?

就是我们上面所说的文件权限属性十个字符中的第一个!

比如这个,最前面的‘-’就是普通文件、文本文件。可执行程序都叫普通文件!

2>Linux文件类型:

  • -:普通文件
  • d:目录文件
  • c-字符设备文件
  • p:管道文件
  • l:链接文件                       

但是这里需要的是,Linux不区分文件类型,但是Linux里面的工具可能区分!!!

举例:gcc

我们在file.c和file.txt中分别写下内容,当我们编译时,发现file.c可以编译过去,但是file.txt不可以,这也充分说明,gcc编译是区分文件后缀的!

                             

  • 34
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值