Linux文件,目录权限管理


前言:Linux下文件和目录都有相应的权限,权限规定了普通用户的行为。约束了普通用户,但是约束不了root,root不是普通用户。本文主要讲解文件,目录权限的意义,以及如何修改。先看看下面两图,方便后面学习。
在这里插入图片描述
在这里插入图片描述


1.linux的用户

1.1 俩大类用户

Linux有两大类用户,就是root和普通用户。
root:超级管理员,权限非常高。
普通用户:具有一般权限,受权限的约束。

1.2 拥有者,所属组,其他人

一个文件或者目录,有三种人可能会进入。
(1)拥有:这个文件的拥有者。
(2)所属组:虽然不是文件的拥有者,但是和拥有者是一个组的,可以理解成关系户。
(3)其他人:对于文件来说是陌生人,但是可能会访问文件。
所以要对这三类人,进行权限管理,如果不管理的话,对文件可能会造成损伤。比如我有一个文档,我不希望别人在里面写东西,我就把其他人的写权限关闭,所属组我希望他可以写,那就打开他的写权限。

2.文件,目录权限的理解

2.1 文件权限

为了讲清楚文件权限,我们可以打开一个文件看一下。
在这里插入图片描述
(1)可以看到我打开了一个文本文件 ny.txt,先认识拥有者,所属组的位置。
在这里插入图片描述ol/[
(2)文件的类型,看第一栏。
在这里插入图片描述
根据第一栏可以判断文件的类型:

d:目录文件
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)

(3)用户,用户组,其他人对应的权限。
在这里插入图片描述
第2,3,4栏为用户权限,第5,6,7栏为用户组权限,第8,9,10为其他人权限。

r (read):可以读取文件的实际内容。
w(write):可以编辑,修改文件的内容。(不能删除文件)
x(execute):可以执行此文件。

根据上面,用户:可读可写;用户组:可读;其他人:可读。
rwx:三个位置不能改动,默认的顺序。
r:用二进制表示为100,八进制: 4。
w:用二进制表示为010,八进制:2。
x:用二进制表示为001,八进制: 1。
所以能用数字来表示权限,比如用户的权限是rwx,那么二进制就是111,八进制就是7;用户组是rw-,那么二进制为110,八进制为6;其他人权限为r--,那么二进制是100,八进制是4。所以整体用八进制表示就是764。
根据这个方法,我们可以表示一下上面 ny.txt 的权限:644。
在这里插入图片描述

2.2 目录权限

打开一个目录 ,方便我们去学习目录权限.
在这里插入图片描述
上面两个都是目录,可以看第一栏,是d,所以是目录文件.目录权限和文件权限有些类似.但是rwx的含义不同.

r :表示具有读取目录结构数据的权限,也就是可以查看此目录的文件名.
w:表示具有改动该目录结构列表的权限,这个权限就比较大了.
(1)建立新的文件与目录
(2)删除已经存在的文件与目录(与文件本身权限无关,只要在此目录下,并有w权限就可以删除)
(3)对文件或目录进行重命名
(4)移动该目录内的文件,目录位置
x: 表示具有进入该目录的权限,简单说就是可以cd进去.

我们可以验证一下.
(1)验证r权限,可以查看目录下的文件名.我以root身份,也就是拥有者去查看的,发现没问题,可以查看,我现在将其他人的r权限去掉,再切换到普通用户继续用 ls 会发生什么呢?
在这里插入图片描述
p1的其他人的r,权限已经被我拿掉了。现在我切换到普通用户。
在这里插入图片描述
被拒绝了,这样就简单验证了r权限。
在这里插入图片描述
(2)验证w权限
默认的目录权限,是不会给其他人w权限的,所以我适用root身份,给普通用户加上w权限。
先看看没有w权限的普通用户,可不可以再目录下创建文件,或者删除文件。
一,不能创建文件
在这里插入图片描述
二,不能删除文件或者目录
在这里插入图片描述
三,给普通用户w 权限,并创建一个普通文件。
在这里插入图片描述
在这里插入图片描述
(3)验证x权限
p1目录的x权限默认开着,所以上面我们才能随意进出文件,现在我们将x权限关闭看看普通用户进入会出现什么问题。
在这里插入图片描述
进入被拒绝了。
在这里插入图片描述

3.文件,目录权限的修改

修改权限主要是root干的事,如果普通用户想要修改文件或目录的权限,需要用sudo暂时提升一下权限,所以修改权限还是用root,操作简单些。
(1)chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
一,用户表示符 +/- /= 权限字符

用户符号:
u:拥有者
g:所属组
o:其它用户
a:所有用户

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限

在这里插入图片描述
拿这个普通文件举例。
例子:赋予所属组w权限
在这里插入图片描述
移除所属组w权限
在这里插入图片描述
全部增加x权限
在这里插入图片描述
二,八进制数字改变权限
上文讲到过,rwx权限是可以用八进制表示的,所以在chmod中也可以利用此点来进行权限修改。
比如我想将yy.txt的权限改为rw- r- - r- -,那么数字就是644.
所以如下:
在这里插入图片描述
(2))chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
常用选项:-R递归修改文件的拥有者
总结:chown用于修改文件的拥有者
在这里插入图片描述
例子:修改ny.txt的拥有者为ly
在这里插入图片描述
我们可以试一试递归修改拥有者。
比如:p1目录及其以下文件。
在这里插入图片描述
执行此条命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到,p1下的子目录以及文件的拥有者都变成了ly。
(3)chgrop
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
chgrop和chown用法一致,不赘述了。

4. 默认权限

默认权限就是文件,目录一上来,系统给配置的权限。

新建文件夹默认权限=666(rw- rw - rw -)
新建目录默认权限=777 (rwx rwx rwx)

那么我们可以验证一下,是否默认权限是如此。
新建立一个文件。
在这里插入图片描述
再新建立一个目录
在这里插入图片描述
我们惊讶的发现,不一样,这是为什么呢?
(1)umask

功能:查看或修改文件掩码

文件掩码导致默认权限发生改变,如果我们想要修改默认权限,也可以利用文件掩码。
利用umask查看文件掩码,看它是如何导致的默认权限改变。
在这里插入图片描述
一,第一个0,不管它,看作022即可。
在这里插入图片描述
文件的初始权限。
在这里插入图片描述
目录的初始权限。
在这里插入图片描述

二,结论
结论:将文件掩码按位取反再和初始权限按位与得到的是默认权限。
在这里插入图片描述
对吧,就是这样操作的,644就是普通文件的默认权限,目录的默认权限计算留给大家了。
(2)利用umask修改文件的默认权限
根据上面的规则,我们可以自定义文件默认权限,但是只在本次工作有效,如果想要长期有效需要配置文件了。
比如:我就想文件的默认权限为初始权限,那么如下设置。
在这里插入图片描述
在这里插入图片描述
可以看到rr.txt的默认权限是666。

5. 粘滞位

粘滞位可以解决普通用户删除不属于他的文件的问题。上文讲了,如果普通用户有了目录的w权限就可以随便删除目录底下的文件,不管是谁的文件,他都可以删除。这就有大麻烦了,一个普通用户带着个w权限,在这里乱杀。不行,所以有了粘滞位的解决办法。
那就是 chmod +t,给文件加上t权限后:
只能由:
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
例子:
我已经切换到普通用户,并且p1目录对其他人有w权限
在这里插入图片描述
我进入p1,并且干掉一个文件ww.txt。
在这里插入图片描述
非常的不安全,现在利用粘滞位,对p1加上t权限。
在这里插入图片描述
我们再切回普通用户,看看还能不能删除p1的文件。
在这里插入图片描述
很明显删除不了,并且我用的是-rf,删除不了。


结尾语:权限讲到这里,希望大家有所收获。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

动名词

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值