【Linux】】Linux权限的理解

news2024/10/6 8:35:10

 

一.Linux中的用户

Linux中分为两种用户,分别为:

1.root 用户,也叫超级用户,它的权限非常高,不受其他权限的约束,也就是可以为所欲为;

2.普通用户:除了root用户外,都是普通用户,受权限的约束

我们可以输入命令:ls /home  查看当前根目录下有多少普通用户:

当然也可以添加一些选项,来显示更详细的内容。 

提权命令:sudo

可以让一条指令暂时拥有root的权限,但是新建的用户,sudo没有颁发实行,系统并不信任你;

除非加入到信任白名单内。 


二.什么是权限

1.权限和人有关;

Lniux中,这里的“人”指的是:

     a,所有者

     b,所属组

     c,其他

2.权限和事物的属性有关

Linux下一切皆文件,而文件具有可读,可写,可执行的属性。

三.文件类型和文件权限

如上图所示,这前面的10个字符,第一个字符表示文件类型,后面的9个字符表示文件属性;

文件类型

文件类型一般有:

d:目录文件
-:普通文件(文本,可执行程序,库都属于普通文件)
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件(用来进行通信的)
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

最常见的就是目录文件和普通文件了。

文件属性

这里的文件属性包括:可读(r),可写(w),可执行(x),- 表示无任何权限

这里的9个字符是3个为一组的,按照前后顺序表示:所有者,所属组,其他的权限,且每组内rwx的顺序是严格不变的,即:

  1.位置是什么含义是确定的,第一个位置只有 r/- ,以此类推;

  2.每一个位置只有是或者否,具有指定的权限。

所以就可以用二进制的0和1表示。

 


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

字符表示法

 8进制和2进制表示法

有了这些权限值的表示方法,我们就可以修改一个文件的权限了。 


五.文件权限的修改

chmod

字符修改:

所有者,所属组,其它分别用这些字母表示:u,g,o

增加权限  chmod  [u/g/o] + [r/w/x]   文件

例:给文件n1加上可执行权限

 去除权限也是一样的道理,只需把+换成-即可;

八进制修改

一个八进制数字代表一组,所以一共有三个数字,八进制换算成二进制后,就能知道有哪些权限。

实例:


# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

 

chown 修改所有者

举个例子,生活中,你把东西给别人,是不是得经过别人得同意啊,别人从你那里拿东西也得经过你的同意。

所以,普通用户是不能自己修改所有者,所属组的,但是root可以,它不受权限的约束。

chown  用户名  文件

例:

 

 

chgrp 修改所属组

这个用法和chown一致,只不过他修改的是文件所属组。

 

总结

当然也可以使用chown指令同时修改所有者和所属组,格式为

chown  用户名:用户名  文件

例:

 chown和chgrp后都可以接选项: -R 表示递归修改文件或目录的所有者或所属组。


六.为什么创建文件时的默认权限是这样

我们在创建文件时,默认:

目录文件权限是775

普通文件权限是664

这是为什么呢?

这就要说明 umask 文件掩码了。

umask

umask  :查看文件掩码(八进制形式显示)

 umask   xxx :修改文件掩码

 

文件掩码作用:凡是在umask中出现的权限都不会在最终权限中出现。

其实,预备:

目录文件权限777

普通文件权限666

在经过文件掩码修饰后才变成了775和664

修饰规则:最终权限=起始权限&(~umask)

以umask=0002为例:

 


七.目录文件每个权限的作用

r :是否允许我们查看指定目录下的文件内容;

w:是否允许我们在当前目录下进行更改,创建,删除

x :是否允许用户进入对应的目录

 上图我们发现,每个普通用户的家目录下,所有者和所属组都是他自己,且所属组和其他没有任何权限,这样当我们在有共享文件的需求是,只能由root用户创建一个共享文件,并把权力全部放开:

 但是这样又会引发一个问题,普通用户互相之间可以随意删除这个share里文件,这是不合理的,但是把w权限去掉了,就又不能创建和修改文件了,这也是个问题,那该如何解决这个问题呢?

Linux中给出一个叫粘滞位的概念。

粘滞位

语法:chmod +t  文件

加了粘滞位的文件:

1、超级管理员删除
2、该文件的所有者删除

加上粘滞位后,原来的 x 会变成 t

 


八.权限总结

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

4.所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档;


🐬🤖本篇文章到此就结束了, 若有错误或是建议的话,欢迎小伙伴们指出;🕊️👻

😄😆希望小伙伴们能支持支持博主啊,你们的支持对我很重要哦;🥰🤩

😍😁谢谢你的阅读。😸😼

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

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

相关文章

【2023春招】4399 web后台-Java后端开发

目录 一、JVM1.类加载过程2.static和final变量的初始化时机 二、依赖1.Spring Boot 自动装配2.使用依赖过程中遇到问题如何排查3.引入的某个依赖不符合预期,如何处理 三、数据库:1.InnoDB 和 MyISAM 索引的区别2.字符串类型字段,WHERE 数字&a…

枚举【Java】

文章目录 枚举的使用switch语句Enum类的常用方法枚举的构造方法 反射与枚举 在之前的学习中,如果我们需要组织一组枚举类型的数据,我们通常会使用常量来进行定义。但这种定义方式存在一个问题就是:如果在一个程序中,普通常量和使用…

1053 Path of Equal Weight(超级无敌详细注释+45行代码)

分数 30 全屏浏览题目 切换布局 作者 CHEN, Yue 单位 浙江大学 Given a non-empty tree with root R, and with weight Wi​ assigned to each tree node Ti​. The weight of a path from R to L is defined to be the sum of the weights of all the nodes along the pa…

UE5.1.1C++从0开始(6.两个额外的魔法弹:瞬移魔法弹和黑洞魔法弹)

做完这两个功能总共花费了一个下午加一个晚上的时间,瞬移魔法弹难度较低,黑洞魔法可能我的理解有误导致消耗时间较长,我会在下面把踩的坑写出来。 加上这个作业,我们一共做了三个魔法子弹了。同时那个老师也说我们可以写一个父类…

js中各种运算符

文章目录 扩展运算符:...逻辑运算符(&& 或 || )第一、&& (逻辑与)运算,看一个简单的例子:第二、|| (逻辑或)运算,看一个简单的例子:三、&& (逻辑与) 和||(逻…

JMX vs JFR:谁才是最强大的JVM监控利器?

大家好,我是小米!今天我们来聊一聊JVM监控系统,特别是关于JMX和JFR的使用。你是否有过在线上应用出现性能问题时,无法准确获取关键指标的困扰呢?那么,不妨听听我给大家带来的解决方案。 什么是JMX 首先&a…

什么是CTF?打CTF的意义是什么?(附网络安全入门教程)

什么是CTF? CTF在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。它起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式&#xff0…

使用mkdocs快速部署上线静态站点到Github

背景 mkdocs是一种方便地生成站点的工具,相比hugo、hexo等个人博客而言,mkdocs更加简便、轻量级,可以快速帮助部署上线类似个人技术本(notebook,wiki)之类的站点。并且支持默认支持站点内搜索,…

网络安全自学路线

很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,里面包含了许多方向,不同的方向需要学习的内容也不一样。 算上从学校开始学习,已经在网安这条路上走…

基于ensp的mpls vpn跨域optionA方案(分公司之间不能互访但是能访问总部场景)

目录 一 实验拓扑 二 实验要求 三 实验分析 四 实验配置说明 4.1完成正常ip地址配置,ISP内部使用ospf协议和mpls ldp协议 4.2 PE和CE之间起ebgp邻居 4.3 PE和PE之间起mpbgp邻居 4.4 PE和CE、ASBR之间设置VRF来进行RT值的过滤,选择合适的RT值来完…

网络编程:TCP socket

文章目录 阅读前导 服务端定义日志框架成员属性服务端框架 初始化服务器创建套接字绑定开启监听 运行服务器netstat 工具获取连接和通信准备通信逻辑 单进程服务端函数(version1)telent 工具测试 多进程服务端(version2)创建子进程…

手把手教你学习IEC104协议和编程实现 十四-文件操作之目录操作

文件服务也算是最后一个系统的大章节了。早期的IEC104软件仅实现了基本的通讯,也就是我们常说的3遥,对于定值和文件的操作都很少提及。 首先我们先要看看文件都包含那些。 文件包含的内容 故障录波文件 故障录波文件我们单独开一章来讲解。包含通讯及文件的格式 历史数据…

多核系统内存假共享问题

多核处理器(SMP)系统中, 每一个处理器都有一个本地高速缓存。内存系统必须保证高速缓存的一致性。当不同处理器上的线程修改驻留再同一高速缓存中的变量时就会发生假共享(false sharing),结果导致高速缓存无效,并强制更…

长期封闭环境中与积极情绪相关的肠道菌群

谷禾健康 近年来,随着微生物群-肠-脑轴研究的深入,越来越多证据表明,微生物群-肠-脑轴在调节大脑功能方面发挥着关键作用,尤其是在情绪处理和行为方面。然而,肠道微生物群与长期封闭环境中的心理变化之间的相关性仍知之…

小魔推助力实体行业短视频创作,打爆UGC素人流量!

最近不止一次的和大家讲到UGC的玩法,相信很多朋友也有了一定的认知,UGC简单来说,就是通过用户来生产原创内容,通过实体店的门头、环境、特色服务等相关内容,并且带有门店地址发布,就可以提升实体商家的POI热…

tensorrt

【TensorRT】动态batch进行推理_tensorrt 动态batch_there2belief的博客-CSDN博客 https://www.cnblogs.com/harrymore/p/15387117.html 1.动态batch 2.tensor内存管理 3.

《河北教育》期刊简介及投稿邮箱

《河北教育》期刊简介及投稿邮箱 主管单位:河北省教育厅 主办单位:河北省教育宣传中心 国际刊号ISSN:1004-6208;国内刊号CN:13-1036/G4;邮发代号:18-67 出版周期:月刊 出版地:河北省石家庄…

pytorch中backward()函数与gradient 参数详解

矩阵乘法的例子1 以下例来说明backward中参数gradient的作用 注意在本文中表示矩阵乘法,*表示对应元素相乘 求A求偏导 试运行代码1 import torch# [1,2][2*3][1,3] A torch.tensor([[1., 2.]], requires_gradTrue) B torch.tensor([[10., 20., 30.], [100., 20…

『赠书活动 | 第五期』《人工智能数学基础》

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 『赠书活动 | 第五期』 本期书籍:《人工智能数学基础》 赠书规则:评论区:点赞|收藏|留言 评论…

DAP-seq技术鉴定葡萄MADS-box转录因子VvMADS28的靶基因,揭示葡萄胚珠发育的调控机制

葡萄是一种营养丰富、美味可口的水果,深受世界各地消费者的喜爱。近年来,无籽葡萄也越来越受大家的欢迎,因此,无籽葡萄品种的培育成为一个重要的育种目标,而了解葡萄种子发育的分子遗传调控机制对于无籽栽培品种的培育…