linux权限体系有哪些角色,详解Linux下系统权限

一、权限概述

1. 什么是权限

权限:在计算机系统中,权限是指某个计算机用户具有使用软件资源的权利。

软件资源:Linux系统中,一切皆文件!SO,这里的软件资源就是文件资源。

所以,我们今天所讲的权限,指的就是:文件资源所拥有的相关权限,即文件权限。

2. 权限设置目的

文件权限的设置目的:是想让某个用户有权利操作文件.

3. 文件权限的分类

㈠ 普通权限

用户正常情况去操作文件所具有的权限

㈡ 高级权限

用户对某个文件操作有特殊需求,而普通权限不能满足,需要给文件设置高级权限

㈢ 默认权限

用户在系统中创建一个文件,该文件默认都会有一个权限,该权限是默认有的

时刻谨记:

权限是设置在文件上的,目的是让某个用户拥有操作文件的权利。

二、普通权限

1. 理解普通权限rwx含义

㈠ 读权限—r(read)

针对目录

一个目录拥有r权限,说明可以查看该目录里的内容,如(ls命令列出)

针对普通文件

一个普通文件拥有r权限,说明可以查看该文件的内容,如(cat/head/tail/less/more等命令查看)

读权限r(read)用数字表示是4

㈡ 写权限—w(write)

针对目录

一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm等)

针对普通文件

一个普通文件拥有w权限,说明可以修改该文件的内容(vi/vim编辑器编辑文件)

写权限w(write)用数字表示是2

㈢ 执行权限—x(execute)

针对目录

一个目录拥有x权限,说明可以进入或切换到该目录里(cd命令)

针对普通文件

一个普通文件拥有x权限,说明可以执行该文件(一般程序文件、脚本文件、命令都需要执行权限)

执行权限x(execute)用数字表示是1

㈣ 没有权限—横杠-

没有任何权限用横杠-表示,数字表示是0

2. 理解UGO的含义

㈠ UGO指的是什么

UGO,指的是用户身份,每个字母代表不同的用户身份。

U(the user who owns it)

文件的拥有者(owner)或者创建者

G(other users in the file’s group)

在文件的所属组(默认是创建文件的用户的主组)里的用户

O(other users not in the file’s group)

既不是文件的创建者,也不在文件属组里的用户,称为其他人

注意:

除了上面ugo以外,还有一个字母a(all users),表示所有用户。

㈡ 如何判断不同身份的用户对文件的权限

562d502a31c500d32bc0658c48d092bc.png

3. 修改文件的普通权限

㈠ 通过字母形式更改权限

3c3cd7906fdc701f033e5292964e86c1.png

㈡ 通过数字形式更改权限

2ec259b89d0eb1a4593771693262ebbd.png

4. 总结

用户是否可以删除目录里的文件,看的是目录的权限!!!

对于正常能够操作的目录来说,应该默认具备r-x。

三、高级权限

1. 高级权限有哪些

㈠ 冒险位(SETUID)

冒险位,指文件操作者(用户)临时拥有文件拥有者的权限

冒险位,一般针对的是命令或者脚本文件

冒险位,用字母表示是s或S;数字表示是4

冒险位的设置:chmod u+s 文件名或者chmod 4xxx 文件名

㈡ 强制位(SETGID)

强制位,一般针对的是目录

如果一个目录拥有强制位,那么任何用户在该目录里所创建的任何文件的属组都会继承该目录的属组。

强制位,用字母表示是s或S;数字表示是2

强制位的设置:chmod g+s 文件名或者chmod 2xxx 文件名

㈢ 粘滞位(STICKY)

粘滞位,一般针对的是公共目录

如果一个公共目录拥有粘滞位,那么该目录下的文件,只有root和文件的创建者可以删除,其他人只能自己管理自己。(A用户不能删除B用户创建的文件)

粘滞位,用字母表示是t或T;数字表示是1

粘滞位的设置:chmod o+t 文件名或者chmod 1xxx 文件名

2. 高级权限设置

㈠ 冒险位举例

需求:

给一个vim命令设置冒险位,目的是任何人拿vim去修改文件可以临时获得文件拥有者的权限

b88dd1b3badd239fcbbf51d3ab6b8227.png

㈡ 强制位举例

需求:

给dir2设置一个强制位,测试是否任何人在该目录里创建的文件属组都是该目录的属组。

930475dfcbf0498114d5f206c730ed04.png

㈢ 粘滞位举例

需求:

在创建一个公共目录/tmp/dir3,要求所有人都可以在该公共目录里创建、删除文件;但是只能自己管理自己,不能删除别人的文件

d5824cb5c295bc530abc36f8f7874b5c.png

四、默认权限

1. 什么是默认权限

所谓文件的默认权限(遮罩权限),是指用户创建文件后,文件天生就有的权限,不需要设置。

2. 文件默认权限由谁来控制

文件默认权限由一个叫做umask的东西来控制。

3. umask如何控制文件默认权限

㈠ 临时控制

临时控制,指的是用命令umask临时设置,只在当前终端当前进程中生效。

f62954db7500e38e1b6e65802db44359.png

如何通过umask计算文件的默认权限?

Linux系统中,默认创建目录的最大权限是0777;文件的最大权限是0666

umask=文件的最大权限-文件的默认权限

临时设置用户的umask

[root@localhost ~]# umask 0007

计算用户的默认权限

4e0b2d42edb4074e3476d716f92188cb.png

㈡ 永久控制

永久设置,指的是通过修改配置文件设置,对用户的所有终端所有进程生效。

① 针对所有用户生效

c3c35b0a211ed672111ab7ed7e96ca4b.png

② 针对某个用户生效

414af12115b330f9374f384225a62a6e.png

五、总结

对于运维工程师来说,掌握Linux系统权限是必备的技能,除了以上介绍的普通权限、高级权限、默认权限外,如果需要更加细致的控制用户对文件的权限,还可以通过ACL策略来控制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让你的数据和对象有源有出路,一文打尽,Java常用IO流处理流(处理字节流文件流)缓冲流、转换流、对象流等

文章目录缓冲流转换流标准输入输出流打印流数据流对象流随机存取文件流Java NIO缓冲流 为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组,缺省使用8192个字节(8Kb)的缓冲区。 …

linux网卡e1000下载,Linux E1000网卡驱动分析

本分析主要针对e1000网卡,驱动源码为7.3.20-k2。本文的目的不是为了讲述如何编写驱动程序,主要是分析网卡驱动内部的实现机制。Linux-千兆网卡驱动实现机制浅析作者: Minit, 出处:博客, 责任编辑: 罗丽艳,2009-03-29 00:001.引言本分析主要针对e1000网卡,驱动源码为…

迈入JavaWeb第一步,Java网络编程基础,TCP网络编程URL网络编程等

文章目录网络编程概述网络通信要素要素一IP和端口号要素二网络协议TCP网络编程UDP网络编程URL网络编程Java网络编程基础网络编程概述 Java是Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java提…

Linux脚本双引号字符去除,shell命令去除字符串里双引号

echo \"refs/changes/84/727284/1\" | sed s/\"//gshell变量内字符替换和变量字符修改a12345123#将${a}里的第一个123替换为321b${a/123/321};echo "echo variable a"echo $aecho "echo variable b"echo $ba12345123#将${a}里的所有123替换…

12000+字Java反射,一起全面了解Java反射机制,为学习框架铺路

文章目录Java反射机制理解Class类获取Class类实例类的加载过程类加载器ClassLoader创建运行时类的对象获取运行时类的结构调用运行时类的指定结构动态代理Java反射机制 Reflection是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的…

linux 中 id指令,Linux id 命令

要登入一台计算机,我们需要一个用户名。用户名是一个可以被计算机识别的身份。基于此,计算机会对使用这个用户名的登陆的人应用一系列的规则。在Linux系统下,我们可以使用 id 命令。什么是 id 命令id 命令可以显示真实有效的用户 ID(UID) 和组…

提高Java表达能力!不落伍一起掌握Java8中Lambda表达式、函数式接口及方法构造器数组引用

文章目录函数式接口概述函数式接口示例内置函数式接口Lambda简述Lambda语法方法引用构造器引用数组引用函数式接口概述 只包含一个抽象方法的接口,称为函数式接口。 可以通过 Lambda 表达式来创建该接口的对象。 可以在一个接口上使用 FunctionalInterface 注解&…

一文一起,学习功能强大的Java8新StreamAPI,让集合的操作得心应手

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) 文章目录Stream 概述Stream 实例化Stream 中间操作Stream 终止…

java erlang_Java开发人员的Erlang

java erlang您可能没有注意到,但是距离我上次发布博客已经过去了几个星期。 这是由于我的Soleus骨折了,而且我的腿是石膏模型。 不能动弹,我认为调查完全不同的东西是个好主意–要么看那一天,要么看白天的电视,尽管Koj…

新!详细!win10下MySQL数据库干净卸载安装与配置

微信公众号:创享日记 发送:sqlyog 获取SQLyog客户端安装包 文章目录官方下载卸载清除安装变量配置测试SQLyog客户端下载官方下载 链接直达:点击官方下载 1、选择 2、下载:点击download进入下载页面,选择“No thanks,…

linux系统基本使用教程,Linux系统的基本使用入门

终端:用户与主机交互,必然会使用到的设备,在Linux中也使用文件进行标识物理终端:直接接入到本机的显示器和键盘设备:又叫控制台:console物理终端设备文件:/dev/console虚拟终端:附加在物理终端之…

最基础,MySQL基础查询SELECT

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) 1、查询表中字段 USE 要操作的数据库名; SELECT 查询的字段 …

rest和rest ful_为什么REST如此重要

rest和rest ful这篇文章致力于REST,一种塑造Web服务的架构风格,以及IT历史上最容易被误解的概念。 这篇文章针对的是正在设计Web服务api的人,他们没有完全了解REST的实际含义。 我想给你个主意。 这篇文章也发给了那些想知道REST意味着什么的…

流利的接口不利于维护

流利的接口 (最初由Martin Fowler 创造)是一种非常方便的与OOP中的对象进行通信的方式。 它使他们的外墙更易于使用和理解。 但是,它破坏了它们的内部设计,使它们更难以维护。 Marco Pivetta在他的博客文章Fluent Interfaces is E…

减小程序规模!稀疏数组Sparsearray,数据结构二维数组与稀疏数组转换,Java实现

文章目录基本介绍应用实例基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: ①记录数组一共有几行几列,有多少个不同的值(0除外)。 ②把具有不同值…

C语言课程设计报告输出杨辉三角,C语言学习:在屏幕上输出杨辉三角

杨辉三角的规律是:它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。 代码如下:#include#includeint main(){int i,j,k,arr[10][10]{0};/*arr[11][11]必须初始化,初始化为{0}*/printf("打印出杨辉三角&…

习惯性朴实简单!一起学习MySQL常见单行函数,字符数学日期流程控制

文章目录一、字符函数二、数学函数三、日期函数四、其他函数五、流程控制函数一、字符函数 1、大小写控制函数 ①UPPER():转换成大写 SELECT UPPER(Hello);②LOWER():转换成小写 SELECT LOWER(Hello);2、字符控制函数 ①LENGTH():获取参数…

不可上位!数据结构队列,老实排队,Java实现数组模拟队列及可复用环形队列

文章目录队列简介数组模拟队列(无法复用)数组模拟环形队列(可复用)队列简介 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即先存入队列的数据,先取出,后存入的后取出…

多对一!分组查询!MySQL分组函数,聚合函数,分组查询

文章目录一、简单使用二、搭配DISTINCT去重三、COUNT()详细介绍四、分组查询一、简单使用 SUM:求和(一般用于处理数值型) AVG:平均(一般用于处理数值型) MAX:最大(也可以用于处理字…

数据结构单链表SingleLinkedList,Java实现单链表增删改查

文章目录链表介绍应用示例链表介绍 链表是有序的列表,但是它在内存中是存储是不连续的,如下: 链表是以节点的方式来存储,是链式存储: ①每个节点包含data域存储数据,next域指向下一个节点 ②链表的各个节点…