linux 权限

一个文件的权限

我们知道一个文件分为两个部分:1. 文件的内容。 2. 文件的属性
我们对一个文件的操作也就存在以下的一些属性:

  1. 这个文件可以被看到--------- 可读–readr
  2. 这个文件可以被修改----------可写–writew
  3. 这个文件可以被编译器编译并执行----------可执行----------x

这里的 也有很多的角色:

  1. 你可以是这个文件的创建者:-----拥有者
  2. 这个文件也可以是别人创建的,那你就是其他的人------other
    3.每个角色都有一个组,就像我们读高中时,每个人都有一个小组一样。我们把这个组叫做所属组---------------所属组
    我们输入ll 查看文件的一些信息:

linux 权限_第1张图片
linux 权限_第2张图片

文件类型

首先,我们在windows中是通过文件的后缀来区分文件的类型的,
比如:test.c 的后缀.c 我们知道他是一个c语言的源文件。
steam.exe 的后缀.exe 我们知道这是一个可执行程序。
三上悠亚.jpg.jpg我们知道这是个图片文件。
==但是 ==
linux系统不以后缀来分辨文件的类型。
所以,无论你的后缀名取成啥样都没问题,比如:我是帅哥.hhh
还是我卢本伟.meiyoukaigua 都是可以的,因为linux系统不靠后缀来区分文件。
linux 的文件类型与后缀无关但是与文件的可执行权限有关。
虽然与后缀无关,但是,不代表你的后缀名可以无法无天,为所欲为。虽然linux系统不以后缀名来区分文件但是系统中装的第3方软件可是有以后缀来区分文件的呀。系统是系统,软件是软件。就比如一个gcc 你要是文件类型不是.c而是.hhh 它就会报错,没法给你编译。

linux系统是如何区分文件类型的?
用第一列的第一个字符来区分文件的类型。
我们上面说到:-表示的是文件的类型,那linux的文件的类型有哪些呢?
- :表示这个文件是个普通文件。普通文件包括,源代码,可执行程序,各种动静态库。
d :以d开头代表这个文件是个目录文件
c: 表示字符设备文件
b :表示 块设备文件
l: 表示链接文件
p: 管道文件

权限rwx

我们上面说了,权限的一些知识,知道了下面这个图分别表示拥有者,所属组和其它人的权限。
linux 权限_第3张图片
放大来看:
linux 权限_第4张图片
我们上面说了一个文件约三种权限:
r -------read 可读权限。
w -------write 可写权限。
x --------------- 可修改权限。
那上面图片中的- 表示啥权限?
答:它啥权限都不表示,它的意思是没有权限。
红色的那个框中有一个- 刚好没有x ,说明,拥有者只有读写的权限,没有执行这个文件的权限。
蓝色的那个框只有一个r,说明其他人只有的权限,没有执行 这个文件的权限。
举个例子:就像高中时默写古诗文。
本来是这样写:落霞与孤鹜齐飞,秋水共长天一色。
但你忘了一些字该咋写,所以你是这样写的。
落霞与--齐飞,秋水共长天一色。
就这种感觉,你能感受到吧?
-就是表示,我在这占个位置,表示这里本来有东西的。

如何修改权限

chmod
如果我们要改变拥有者的权限我们可以这样:
chmod u-r test.txt
linux 权限_第5张图片
linux 权限_第6张图片
我们也可以给拥有者加上r权限。
linux 权限_第7张图片
没错,就是简单粗暴:把- 换成+ 就行了。
如果我们想把读写的权限全部去掉就可以这样写:
chmod u-rw test.txt
这样一来我们就知道如何去除和添加权限了。
但是我们只知道拥有者是u 但是其他的呢?
看这里:
拥有者:u
所属组:g
其他人: o

挨着挨着调整权限好麻烦,我们可以一次性的来调整:
chmod u+rw,g+x,o-r test.txt
如果我想把所有人的权限全给去除了可以这样:
chmod a-r test.txt
a 表示是:all的意思

你可能感兴趣的:(linux)