首页 > 系统相关 >【Linux操作系统】权限管理和粘滞位

【Linux操作系统】权限管理和粘滞位

时间:2024-03-22 16:33:55浏览次数:26  
标签:文件 操作系统 用户 chmod 粘滞 Linux 权限 目录

在这里插入图片描述


文章目录


前言

Linux操作系统学习,权限管理,关于Linux中文件的权限,学习此章节,会对文件的读、写、访问权限进一步了解


Linux权限管理

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

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。

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

命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su
root(root可以省略),此时系统会提示输入root用户的口令。

01.文件访问者的分类(人)

  • 文件和文件目录的所有者:u—User(中国平民 法律问题)
  • 文件和文件目录的所有者所在的组的用户:g—Group(不多说)
  • 其它用户:o—Others (外国人)

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

我们在调用ls -l指令的时候,往往会看到很多文件属性,那究竟这些属性各自代表着什么呢?

在这里插入图片描述

解释图如下:
在这里插入图片描述

简单介绍下:

  • 第一位字符:文件类型,如上图例子,(d)代表着文件,(-)代表着文本文件。
  • 二到十位字符,代表着权限。每三位为一组,分别对应着所有组、所属组和others的权限设置。rwx:r(读)、w(写)、x(运行)这个后续会做补充。
  • 后续分别代表连接数(Linux系统中的属性连接数是指系统能够同时处理的TCP连接的最大数量。)、所属用户(谁创建的)、所属用户组(所属用户拉的小群体)、文件大小(kb)、最近更改日期以及文件名

内容扩展:
这里比较重要的其实是文件类型、权限属性、所属用户以及所属组,接下来我将展开介绍。

a)文件类型:

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

b)基本权限:

i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限(无法ls目录中内容)
ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限(无法在目录中创建文件、删除文件)
iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限(无法cd进入文件)
iv.“—”表示不具有该项权限

03.文件权限值的表示方法

a)字符表示方法
在这里插入图片描述

b)8进制数值表示方法
在这里插入图片描述

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

1.chmod

chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

chmod
-① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限

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

chmod u/g/o/a +/- /home/abc.txt(文件路径)

实例:
以下我们用chmod修改shared文件,分别把拥有者、所属组、其他用户的w(写)权限修改掉,在同时赋予w(写),看一下效果。
在这里插入图片描述

②三位8进制数字

chmod  三位8进制数字   /home/abc.txt(文件路径)

在这里插入图片描述
实例:
我们把shared文件,设置为全不可读写访问、u(rwx)g(r-x)o(—)两个为例。八进制三个数字分别对应u、g、o权限设置。实例效果如下:

在这里插入图片描述

2.chown

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

实例:
在这里插入图片描述

3.chgrp

c)chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组

实例:
在这里插入图片描述

Linux操作系统默认设置:
新建文件默认权限=0666(文件一般不可执行)
新建目录默认权限=0777

我们不妨试一下:
在这里插入图片描述
但我们发现我们实际操作中并不是按照上述说的默认值设置,这是为啥呢?
原因其实和掩码有关。

umask

d)umask

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

新建文件夹默认权限=0666
新建目录默认权限=0777

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

实例:
查看umask并且将它设置为0000,在创建文件和目录,看是否是默认值。(这里使用为root用户)
在这里插入图片描述

接下来我来解释下最终权限和初始权限以及umask之间的关系:
在这里插入图片描述
结论:最终权限 = 初始权限 & (~umask)。

粘滞位

1.共享文件

我们在进行项目开发的过程中,大多数是合作完成的,所以往往有共享文件,每个人都可以有一定的权限。类似腾讯共享文档,大家一起填表格。

这里是创建了共享文件shared,然后duck在文件中创建了test.txt内容为“你好呀!Acat” 权限664,所以Acat用户,可以通过cat来查看文档内容。
在这里插入图片描述
但是Acat他不能够修改文档内容,以及删除文件,因为他对于test.txt文档来说是others,没有写和访问的权限,如图:
在这里插入图片描述
这在开发工程中,明显不符合工作,所以把duck把权限放开,允许Acat用户修改,删除和访问。但是出现个问题,Acat用户和duck有矛盾,一气之下就把这个文档删除了。这种情况相当麻烦。
在这里插入图片描述

  • 既要你可以工作,可以修改,但是你不能找麻烦,删除文件。

所以要达到这个目的,就可以用粘滞位。

粘滞位

chmod + t 来设置文件

注意是设置共享文件夹权限,并非文档文件权限
在这里插入图片描述

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

权限的总结

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

Linux系列学习目录

【Linux操作系统】历史与环境
【Linux操作系统】基本指令

标签:文件,操作系统,用户,chmod,粘滞,Linux,权限,目录
From: https://blog.csdn.net/Supertcat/article/details/136888603

相关文章

  • 【Linux】基础 IO(动静态库)-- 详解
    一、前言为什么要使用别人的代码?主要是为了提高程序开发的效率和程序的健壮性。当别人把功能都实现了,然后我们再基于别人的代码去做二次开发,那么效率当然就提高了。其次,这里基于的别人当然不是随便找的一个人,而特指的是顶尖的工程师,也就是说如果我们的代码出了问题,一般不会......
  • Linux文件权限
    前言大家好,我是jiantaoyab,本篇文章给大家介绍Linux的文件权限。文件权限系统是确保文件和系统安全的关键组成部分。正确理解和配置文件权限对于维护系统安全至关重要。用户和用户组在Linux下,有拥有者user、用户组group、其他人others之分。什么的group?假设在一个班里面......
  • Linux内核有什么之块设备驱动有什么第六回 —— 邂逅的三个文件系统之二:实际文件系统(3
    接前一篇文章:Linux内核有什么之块设备驱动有什么第五回——邂逅的三个文件系统之二:实际文件系统(2)本文内容参考:34|块设备(上):如何建立代理商销售模式?-趣谈Linux操作系统-极客时间特此致谢!上回书以F2FS文件系统为例,开始分析块设备邂逅的第二个文件系统:实际文件系统。本回......
  • 操作系统名词解释
    单道批处理系统:单道批处理系统之所以被称为“单道”,是因为在这种系统中,内存中始终只保持一道作业在运行。当这道作业完成后,系统才会自动调入下一个作业进行处理。这种顺序执行的方式意味着在任意时刻,内存中仅有一个作业被执行,因此得名“单道”。而“批处理”的含义则是指系统对......
  • linux-sysrq
     sysrq        SysRq(systemrequest) 是Linux操作系统内核理解的一系列键,可以触发一组预定义的操作。当无法通过传统管理(执行虚拟机故障排除或恢复时,通常使用这些命令,例如,VM未)响应。         Sysrq被称为”魔术组合键”,是内建于Linux内核的调试工具......
  • Linux内核启动流程简介
    参考资料:https://www.bilibili.com/video/BV12E411h71h?p=38&vd_source=432ba293ecfc949a4174ab91ccc526d6 Linux内核链接脚本arch/arm/kernel/vmlinux.lds arch/arm/kernel/vmlinux.lds中OUTPUT_ARCH(arm)ENTRY(stext)//Linux内核入口,入口函数stextjiffies=......
  • 操作系统综合题之“用记录型信号量机制的wait操作和signal操作写出三个进程的同步代码
    1.问题:假设一个水果赛选系统由三个进程A、B、C组成。进程A每次取一个水果,之后存放在货架F上,F的容量为每次只能存放一个水果。若货架上存放的是苹果则让进程B取出,并存放到苹果箱中;若货架上存放的是菠萝则让进程C取出后,将其存放到菠萝框中(1)列出所需的信号量并初始化(2)请用记录型信......
  • linux查看指定进程打开的文件数
    1.背景正式环境多个用户登录频繁报网络错误2.排查及解决##查看error.log发现原因是Toomanyopenfiles##ulimit-a命令可以查看单个进程最大打开文件的数量限制;默认1024##统计指定进程打开的文件数,发现都在1024以内lsof-ppid|wc-l##尝试修改nginx.confwork......
  • 操作系统综合题之“按要求是个进程协调完成任务,补充完整下列程序,将编号①~⑩处空缺的
    1.问题:假设某系统有四个进程。input1和input2进程负责从不同设备读取数据,分别表示为data1和data2,存放在缓冲区Buffer中,output1和output2进程负责从Buffer中分别获取data1和data2。Buffer中每次只能存放一个数据。varempty,full1,full2:semaphore;empty.value=1;①_______;②______......
  • linux 静态ip
    在Linux系统中设置固定IP地址,通常涉及以下步骤:确认网络接口。使用命令`ipaddr`和`ifconfig`来查看当前的网络接口和IP地址。例如,在`/etc/sysconfig/network-scripts/`目录下,通常会有一个名为`ifcfg-ens33`的文件,其中`ens33`是网络接口的名称。编辑网络配......