【Linux】权限的深度解析

简介: 【Linux】权限的深度解析

前言:在此之前我们学习了一些常用的Linux指令,今天我们进一步学习Linux下权限的一些概念 d6dc0126edd141a985d72de501ef756b.jpg

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户。

超级用户:可以再linux系统下做任何事情,不受限制

普通用户:在linux下做有限的事情

超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

在上一篇文章中我们详细的讲解了如何从普通用户切换成超级用户如果有不懂的可以去看一下上一篇文章Linux下基本指令


Linux权限管理

文件访问者的分类(人)

对于任意一个文件在被创建出来的时候就会将未来的访问者分为三类:拥有者、所属组、其它用户(other)

  1. 文件和文件目录的所有者(拥有者):我们可以直接理解成创建这个文件的人,也可以说成这个文件是他的
  2. 其它用户(other):我们可以理解成外界访问者,例如外国人来中国那么这个外国人就是other
  3. 文件和文件目录的所有者所在的组的用户(所属组):我们可以通俗的理解成你是一个组的组长,这个文件的组长给你们这个组开发了权限,只有你们这个组可以看到。(如下图)
  4. 当然了对于超级用户(root)他可以随意访问这些文件


文件类型和访问权限(事物属性)

Linux系统不是以文件名后缀区分文件类型的,而是通过ll指令显示的第一个字符区分文件类型的!


文件类型

符号 文件类型
- 表示普通文件
d 表示目录
l 表示符号链接
b 表示块设备文件
c 表示字符设备文件
s 表示套接字
p 表示管道

实例:

基本权限

Linux系统中,文件的权限属性分为三类:r(读-4)、w(写-2)、x(可执行-1)

  1. 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  2. 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  3. 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

字符表示:

权限符号 说明
r – – 只读
– w – 仅可写
– – x 仅可执行
rw – 可读可写
– wx 可写可执行
r – x 可读可执行
rwx 可读可写可执行
– – – 无任何权限

8进制数值表示:

权限符号 八进制 二进制
r – – 4 100
– w – 2 010
– – x 1 001
rw – 6 110
– wx 3 011
r – x 5 101
rwx 7 111
– – – 0 000

实例演示:


文件访问权限的相关设置方法

chmod指令

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

符号模式 说明
u 代表所有者权限
g 代表组的权限
o 代表其他用户权限
a 代表所有权限
+ 增加权限
- 移除权限
= 设置权限

示例一:

对文件的其它人增加执行和写的权限

示例二:

去掉文件的所属组的写的权限

示例3:

使用三位八进制数字

示例4:

对整体指令进行修改

这里再次强调,无论开放与不开放权限,root都可以为所欲为


修改文件的拥有者

chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

-R:递归地更改目录及其所有子目录中的文件的所有者和所属组。

-h:如果目标文件是符号链接,则会改变链接本身的所有者和所属组,而不是链接所指向的文件的所有者和所属组。

注意:要执行chown命令,您需要对目标文件或目录具有合适的权限。只有文件或目录的所有者或超级用户(root用户)才能更改其所有者和所属组。


[wei@Centos ~]$ chown user1:group1 file.txt
#将文件file.txt的所有者更改为user1,所属组更改为group1。
[wei@Centos ~]$chown -R user1:group1 directory/
#递归地更改目录及其所有子目录中的文件的所有者和所属组
#将目录directory及其所有子目录中的文件的所有者更改为user1,所属组更改为group1

更改文件的所属组

chgrp

功能:修改文件或目录的所属组

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

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

注意:要执行chgrp命令,您需要对目标文件或目录具有合适的权限。只有文件或目录的所有者或超级用户(root用户)才能更改其所属组。

[wei@Centos ~]$ chgrp group1 file.txt
#chgrp group1 file.txt
[wei@Centos ~]$chgrp -R group1 directory/

查看或修改文件权限掩码

umask

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

新建文件夹默认权限=0666

新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

实例演示:

格式: umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

最终权限 = 默认权限 & (~umask)

实例演示unmask的修改:

[wei@Centos ~]$ umask 755
[wei@Centos ~]$ umask
0755
[wei@Centos ~]$ umask 044
[wei@Centos ~]$ umask
0044


linux下目录的权限

刚刚我们了解了普通文件的rwx可读可写可执行,现在来看看目录的rwx的含义:

  1. r可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  2. w可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
  3. x可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.

粘滞位

在Linux中,粘滞位(Sticky Bit)是一种特殊的文件权限设置,它可以应用在目录上。当一个目录被设置了粘滞位后,只有目录的所有者和超级用户可以删除或重命名目录中的文件,其他用户只能删除或重命名自己所拥有的文件。

粘滞位主要用于公共目录,例如/tmp,以确保其他用户无法删除或篡改其他用户的文件。下面是在Linux中使用粘滞位的方法:

[wei@Centos ~]$ chmod +t 目录名称

[wei@Centos ~]$chmod +t /tmp

需要注意的是,粘滞位只能应用于目录,而不能应用于文件。另外,设置粘滞位的操作需要超级用户权限。


结语:今天的内容就到这里吧,谢谢各位的观看,如果有讲的不好的地方也请各位多多指出,作者每一条评论都会读的,谢谢各位。


相关文章
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
1164 113
|
Unix Linux
对于Linux的进程概念以及进程状态的理解和解析
现在,我们已经了解了Linux进程的基础知识和进程状态的理解了。这就像我们理解了城市中行人的行走和行为模式!希望这个形象的例子能帮助我们更好地理解这个重要的概念,并在实际应用中发挥作用。
351 20
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
4075 12
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
807 3
|
Linux
Linux命令的基本格式解析
总的来说,Linux命令的基本格式就像一个食谱,它可以指导你如何使用你的计算机。通过学习和实践,你可以成为一个真正的“计算机厨师”,创造出各种“美味”的命令。
475 15
|
存储 Linux
Linux内核中的current机制解析
总的来说,current机制是Linux内核中进程管理的基础,它通过获取当前进程的task_struct结构的地址,可以方便地获取和修改进程的信息。这个机制在内核中的使用非常广泛,对于理解Linux内核的工作原理有着重要的意义。
767 11
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
11419 2
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解linux权限
本文深入解析Linux权限管理机制,涵盖权限概念、用户角色、文件属性及操作方法。文章分为前言、权限介绍、用户与角色、文件属性、权限修改及常见问题六大板块。详细说明了权限类型(r/w/x)、角色优先级、chmod/chown指令用法,以及目录权限、umask掩码、粘滞位等重点内容。掌握这些知识,可有效提升Linux系统安全性和灵活性,是管理员必备技能。喜欢的话别忘了点赞支持哦! ❤❤❤
1029 6
|
安全 Linux 数据安全/隐私保护
Linux权限揭秘“Root与Sudo”
Root用户是Linux系统中的超级用户,拥有对系统的完全控制权。Root用户几乎可以执行任何命令,修改任何文件,甚至删除系统上的所有内容。因此,Root用户的使用需要非常谨慎,以避免潜在的安全风险。
966 6