Linux权限详解

Posted xiao zhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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权限详解

[OS-Linux]详解Linux的权限

[OS-Linux]详解Linux的权限

Linux 权限位详解

Linux(权限详解)

Linux权限管理详解