linux权限

目录

1.启语

2.权限

2.1什么是权限

 2.2权限的本质

2.3Linux用户 

2.4Linux切换用户命令

2.5指令提权  

2.6Linux权限管理

2.6.1文件访问者的分类(角色)

2.7文件类型和访问权限

2.7.1文件属性 

 2.7.2文件类型

2.7.3文件权限值的表示方法

2.8权限的修改

2.8.1chmod修改文件权限 

 2.8.1.1chmod命令权限值的格式:

​编辑 2.8.1.2使用三位八进制表示法修改字符

 2.8.2chown修改文件的拥有者

​编辑

 2.8.3 chgrp 修改文件或目录的所属组

 2.8.4权限掩码

2.8.4.1默认权限

 2.8.4.2umask 查看或者修改文件掩码

 2.8.5目录的权限

 粘滞位

3.结语


gitee下载地址 

1.启语

个人主页

今天我们要学习的是linux权限,话不多说我们进入到今天的linux权限学习。

2.权限

2.1什么是权限

权限(privilege)是指某个特定的用户具有特定的系统资源使用权力,像是文件夹,特定系统指令的使用或存储量的限制。通常,系统管理员,或者在网络中的网络管理员,对某个特定资源的使用分配给用户不同的权限,系统软件则自动地强制执行这些权限。

 2.2权限的本质

  • 权限和角色有关:权限限定的是某种角色,限定该角色是否持有对应权限。
  • 权限和事物的属性有关:限制角色的事物有什么属性,权限 = 角色 + 事物属性。2

2.3Linux用户 

超级用户root不受权限约束,命令提示符为 " # "
普通用户只能在 Linux 下做有限的事,命令提示符为 " $ "

2.4Linux切换用户命令

语法:su[用户名]

功能:切换用户,root可直接切换至系统中的任何用户,无需密码。

su root

2.5指令提权  

sudo:

功能:用来以其他身份来执行命令

格式:sudo(选项)(参数)

注意:使用 sudo 对指令提权时输入的是普通用户的密码,因为此前root用户已经将该普通用户加入了白名单,所以普通用户使用 sudo 前还需要被 root 用户信任。

2.6Linux权限管理

2.6.1文件访问者的分类(角色)

文件访问者分为三种角色:

  • 拥有者(‌User)‌:‌文件和文件目录的拥有者,‌通常创建文件的用户被认为是该文件的拥有者,‌对文件享有最高的权限,‌可以进行读、‌写和执行操作。‌
  • 所属组(‌Group)‌:‌文件和文件目录的拥有者所在的组的用户。‌这个组可以是系统默认创建的,‌也可以是用户自己创建的。‌组内的用户对文件享有与组相关的权限,‌这些权限可能包括读、‌写和执行,‌具体取决于文件的权限设置。‌
  • 其他用户(‌Others)‌:‌除了文件拥有者和文件所属组的用户之外的所有用户。‌

示例: 

  • 查看 test3 文件的访问者。
  • 默认情况下一般都是拥有者自成一组,文件访问者没有 Others 这一列,因为不匹配拥有者和所属组的就是其他用户,没必要单开一列去记录。

2.7文件类型和访问权限

2.7.1文件属性 

  • 使用 ll 查看文件的详细属性。
  • test.txt 文件的拥有者和所属组都是 root,所以普通用户对该文件来说就属于 others,只有读权限

第一个字符:是否拥有读权限r
第二个字符:是否拥有写权限 w
第三个字符:是否拥有可执行权限 x

r(Read,读取):      对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的                                   权限。

w(Write,写入):       对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删                                       除、移动目录内文件的权限。

x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录                                   的限。

                                 ps:“—”表示不具有该项权限

描述一个文件的权限时,一般都是说 拥有者、所属组、others 分别拥有 rwx 的权限。

权限 = 用户角色 + 文件权限属性

 2.7.2文件类型

 我们常使用的Windows区分文件类型是使用后缀名,linux则是通过属性的第一位区分:

类型说明
d
文件夹
-
普通文件
1
软链接(类似 Windows的快捷方式允许用户创建指向文件或目录的引用
b
块设备文件(例如硬盘、光驱等)
p
管道文件
c
字符设备文件(例如屏幕等串口设备)
s
套接口文件

2.7.3文件权限值的表示方法

(a)字符表示方法:

Linux表示说明Linux表示说明
r - -只读- w -仅可写
- - x仅可执行rw -可读可写
- wx可写和可执行r - x可读可执行
rwx可读可写可执行- - -无权限

(b)8进制表示方式

可读 r、可写 w、可执行 x 的顺序分别是 r w x,如果某个文件有对应权限,则对应二进制位上的值为 1。

如:文件属性为“rw-”,就是代表2进制“110”。

权限符号八进制二进制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
- - -0000

2.8权限的修改

能修改文件的角色:

1.root

2.文件的拥有者

2.8.1chmod修改文件权限 

功能: 设置文件的访问权限
格式 chmod [ 参数 ] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
 2.8.1.1chmod命令权限值的格式:
权限符号说明
+
向权限范围增加权限代号所表示的权限
-
向权限范围取消权限代号所表示的权限
=
向权限范围赋予权限代号所表示的权限
u
拥有者
g
拥有者同组用
o
其它用户
a所有用户

使用字符表示法修改权限:用户符号 + - 权限字符 

 2.8.1.2使用三位八进制表示法修改字符

 已知八进制表示法中八进制的值对应的是什么权限,那么只要使用 3 个八进制的数字就能修改 拥有者、所属组和其他用户对该文件的权限了。

 

 2.8.2chown修改文件的拥有者

功能 修改文件的拥有者
格式: chown [ 参数 ] 用户名 文件名

 示例:

root用户下修改txt.txt的文件拥有者为new,又在new用户改回root(这时候要提权)。

(ps:记得在普通用户下改回root要用sudo提权,sudo出问题的可以看看这位大佬的博客处理)   博客链接

 2.8.3 chgrp 修改文件或目录的所属组

格式chgrp [参数] 用户组名 文件名 

功能 修改文件或目录的所属组
常用选项 -R 递归修改文件或目录的所属组

 (ps:也要记得在普通用户下改回root要用sudo提权)

 2.8.4权限掩码

2.8.4.1默认权限

Linux 对于创建的普通文件和目录文件自带默认权限。

普通文件:默认权限是 0666,去掉三个访问者 x 的。
目录文件:默认权限是 0777,包含三个访问者x 的。

但是实际上显示出来的普通文件和目录文件的默认权限分别是 0664 和 0775默认权限不能完全决定文件最终的权限,这情况就和权限掩码有关了 

 2.8.4.2 查看或者修改文件掩码
格式: umask 权限值
说明 将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022 ,普通用 户默认为0002
创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。假设默认权限是 mask ,则实际创建的出来的文件权限是 :
mask & ~(取反)umask

umask:查看当前用户的默认掩码。

umask 权限值:设置当前用户的掩码值

 2.8.5目录的权限

可读权限r:     如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.

可写权限w:     如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件
可执行权限x:   如果目录没有可执行权限, 则无法cd到目录中 

存在的问题

只要某个用户具有该目录的写权限,就能够直接删除该目录中的文件甚至是root拥有的,与这个文件拥有者无关。也就是说,只要对某个目录具有写权限,则该目录下文件的创建者都可以删除该文件。

解决的办法

1.对该目录去掉写权限:解决了可能会被外人删除目录下的文件,但同时又出现了一个新的问题,无法在该目录下进行增加和修改文件操作,相当于自费武功,所以不推荐这个。

2.使用粘滞位

 粘滞位

格式:chmod +t 目录,对目录加上粘滞位。

功能:即使其他用户对目录具有写权限,也使得除了以下三种用户外都无法删除目录下的文件:

1.超级管理员删除
2.该目录的所有者删除
3.该文件的所有者删除

示例:

现有一个由 root 创建的目录且已经将该目录 拥有者、所属组、others 的权限都设置为 rwx。


使用 chmod -t  1  对 root 创建的 目录添加粘滞位。


再切换成普通用户 new 删除目录下的 test.txt 文件 (new 用户是 1 目录的 others)。

可以看到 new就算拥有 1目录的写权限,也是无法删除该目录下的文件

3.结语

1.目录的可执行权限是表示你可否在目录下执行命令。
2.如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
3.而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限
4.所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

今天的linux就到这里,我们下次再见!

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值