linux 文件夹权限详解

Posted 彼岸锋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 文件夹权限详解相关的知识,希望对你有一定的参考价值。

linux 如何设置文件夹权限

1、文件组成

在linux 中文件权限由 9 位字符组成,其中分为三部分

1.1、第一部分 文件所有者(Owner)

        就是图片中黄色的部分 文件所有者的权限

1.2、第二部分 用户组(Group)

        就是图片中绿色的部分 用户组的权限

1.3、第三部分 其它用户(Other Users)

        就是图片中蓝色的部分 其它用户的权限

1.4、文件类型

        图中第一竖排就是文件类型

2、文件标识/权限标识

2.1、文件/权限标识`-`​

        - 在文件第一排代表着 其他文件 的意思,如果在文件权限中代表着没有该权限的意思

2.2、文件标识`d​`

        d 在文件中代表着他是一个文件夹

2.2、文件标识`l​`

        l 在文件中表示他是一个软连接,就是我们经常说的快捷方式

2.3、权限标识`r​`

        r 在文件中表示他是一个可读的文件,如果在黄色区域内,就代表着他对文件所有者可读,如果在绿色区域内,就代表着他对文件所有组可读,如果在蓝色区域内,就代表着他对其他用户可读

2.4、权限标识`w​`

        w 在文件中表示他是一个可写的文件,如果在黄色区域内,就代表着他对文件所有者可写,如果在绿色区域内,就代表着他对文件所有组可写,如果在蓝色区域内,就代表着他对其他用户可写

2.5、权限标识`x​`

        x 在文件中表示他是一个可执行的文件,如果在黄色区域内,就代表着他对文件所有者可执行,如果在绿色区域内,就代表着他对文件所有组可执行如果在蓝色区域内,就代表着他对其他用户可执行

3、权限的数值

r ------> 4

w ------> 2

x ------> 1

- ------> 0

4、认识文件权限

        d rwxrwxrwx 换成数值就是 d 4+2+1 4+2+1 4+2+1 也就是 777

        换算成叫法就是 对文件使用者可读可写可执行,对可读可写可执行,对其他用户可读可写可执行

        d r--r--r-- 换成数值就是 d 4+0+0 4+0+0 4+0+0 也就是 444

        换算成叫法就是 对文件使用者可读不可写不可执行,对可读不可写不可执行,对其他用户可读不可写不可执行

         - rw-rw-r-x 换成数值就是 d 4+2+0 4+2+0 4+0+1 也就是 665

        换算成叫法就是 对文件使用者可读可写不可执行,对可读可写不可执行,对其他用户可读不可写可执行

5、设置文件权限

        chmod [-R] 权限值 文件名​

        -R 可写可不写 写上的话就是相当于 该文件以及该文件下的所有子文件的权限 不写的话就相当于该文件的权限

5.1、用权限值设置文件权限(常用)

        例:

        1、设置文件 a 为 文件所有者 可读可写可执行 权限,所属组 可读可执行 权限,其他人 可读权限

        也就是 4+2+1 4+2+0 4+0+0

        命令 :chmod 764 a

        2、设置文件 a 及 a下的所有子文件 为 文件所有者 可读可写可执行 权限,所属组 可读可执行 权限,其他人 可执行权限

        也就是 4+2+1 4+0+1 0+0+1

        命令 :chmod -R 751 a

5.2、用权限名称设置文件权限

        设置所属权限 :文件所有者 u 用户组 g 其他用户 o 所有权限 a

        设置操作符号:+ 用来添加权限 - 用来减少权限 = 用来赋值权限

        设置权限: r 可读 w 可写 x 可执行

        例:

        1、设置文件 a 为 文件所有者 可读可写可执行 权限,所属组 可读可执行 权限,其他人 可读权限

        也就是 u=rwx g=wx o=w

        命令:chmod u=rwx,g=rx,o=r a

        2、减少文件 a 为 文件所有者 可执行 权限,所属组 可读可 权限,其他人 可读权限

        也就是 u=rwx g=wx o=w

        命令:chmod u-x,g-r,o-r a

        3、添加文件 a 为 文件所有者 可执行 权限,所属组 可读可 权限,其他人 可读权限

        也就是 u=rwx g=wx o=w

        命令:chmod u+x,g+r,o+r a

        4、设置文件 a 为所有权限为可读可写

        也就是 a=rw

        命令:chmod a=rw a

花开一千年,花落一千年,花叶永不见

Linux权限详解

用户分类

1、超级用户(root):在Linux下可做任何事情,不受权限限制
2、普通用户(自己创建的用户):受到一定的权限限制。

用户之间的切换

1、超级用户切换成普通用户:(1)su [用户名]

(2)ctrl+d
(3)exit指令
2、普通用户切换成超级用户:su -

3、当处于普通用户进行某些操作受到权限限制时,我们可以在命令前+sudo来达到短暂提升用户权限的作用。

文件权限的介绍


红框内共有十个字符,第一个字符代表文件的类型。
后九个字符,三三为一组,分别代表“拥有者”,“所有组”以及“other”对于文件的“读、写、执行”的三种权限
r - 读文件的权限
w - 写文件的权限
x - 执行文件的权限
注:1.如果没有该权限,就会用-占位
sadk2.rwx的位置是固定不变的。

文件的类型

在Linux中,文件的类型不像Windows一样由文件的后缀表示,而是由最前面的字符表示

d文件夹
-普通文件
l软链接(类似于Windows中的快捷方式)
p管道文件
c字符设备文件(例如屏幕)
s套接口文件

对于文件的角色

有三种相对于文件的角色。

角色性质
拥有者(u)文件的创建者
所属组(g)可以看做是与拥有者协同开发的人员
other(o)外部人员,除拥有者和所属组外的所有人都是other

可以给不同角色以不同的权限,保证适合的人可以恰当的对文件进行操作。
举个例子:有A、B两个工作组,两个工作组互相不想让对方看到自己的文件,那么就要取消other的“rwx”。而在A组中,a创建了一个文件,a需要与同组同事协同开发,那么a就是文件拥有者,同组其他同事就可以是所属组,就要给他们设定相应的权限。

权限的作用

权限对于普通文件来说:

r(读):无法读取文件内容

w(写):无法向文件中写入内容

x(执行):执行对应文件的二进制文件

权限对于目录来说:

r(读):作用是显示文件下的内容

w(写):在目录下创建删除文件

x(执行):是文件操作的基本权限,没有执行权限那么就不能显示文件,创建删除文件。

更改文件权限——chmod命令

使用:chmod [对象]+/- [权限][文件名]
对象:u-拥有者
…\\wx.g-所属组
…\\wx.o-other
…\\wx.不指明对象则默认给三个对象同时操作,或者a-all(操作对象是所有)

还可以一次命令对多个对象的权限进行修改,需要逗号分隔

即使文件没有读写权限,但是root作为超级用户,即使没有权限也可以随意操作。

权限修改的八进制方案

使用3个比特位来某一个对象的权限内容,具体如下:

rwx1117
rw-1106
r-x1015
r–1004
-rx0113
-w-0102
–x0011
0000

更改权限对象

更改文件所有者–chown

其他用户要把文件所有者变成root,那么就需要指令的权限提升,就需要添加"sudo "。
root把文件给其他普通用户的话就不需要,可以直接更改。

更改所属组–chgrp

同更改文件所有者一样,也需要权限提升,使用“sudo”

更改other

其实没有更改other的指令,但是更改了拥有者和所属组,那么作为other其余人也随之改变
可以拥有者和所属组同时更改:chown XXX :XXX 文件名(必要时也需要添加sudo)

umask

我们随意创建一个文件 或者目录,都会有一个默认权限

那么,为什么默认权限就是-rw-rw-r–这样呢?
普通文件默认起始权限从“666”开始,目录的默认起始权限从“777”开始。同时起始权限还与umask有关。设定一个umask那么,umask中出现的权限位都不应该在最终权限的八进制表示中出现。
目前Linux默认的umask是002

下面以文件为例来具体解释一下:

因此,如果我们去更改umask,则会更改起始权限,所创建的文件的默认权限也会随之更改。


总结一个公式:默认权限 = default & (~umask)
default:默认起始权限八进制表示
umask:umask的权限八进制表示

粘滞位

先看一种现象

有一个公开文件,文件不属于你,但是你可以随意增加删除文件。有些情况问题不大,但是有时候这不是你想要的情况,other随意删除不属于他自己的文件是一个十分危险的事情。

那么我们就需要一定的方式来解决这个问题,这个时候我们就需要粘滞位来起作用。

以上是关于linux 文件夹权限详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习Linux下用户组文件权限详解

Linux文件和目录权限详解

Linux权限管理详解

Linux系统文件权限体系详解

linux 文件夹权限详解

[OS-Linux]详解Linux的权限