【Linux】权限的概念

1.Linux权限的概念

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

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

windows下也有超级用户——以管理员身份运行应用即可——但是这个管理员权限不高

linux的root权限是非常高的

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

1.1.su

命令:

su [用户名]

功能:切换用户。

例如,

  1. 要从root用户切换到普通用户user,则使用 su user。
  2. 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

Linux所有用户,都要有密码,无论是root账号还是普通账号,都是如此 

我们的登录身份是root账号

我们先看为root用户 转换为普通用户——这个不要输入密码

再看普通用户转换为root账号——这个要输入密码 

当我们是普通用户时,我们想进入别的账号,我们就必须知道其他账户的密码

我们看看一个纯的su是什么意思 

这个password没有指明是哪个的,就是root的 

建议:root账号的密码和普通账号的密码要设置成不一致 

我们看看下面这个,发现su只是身份的改变,但是当前目录未变啊 

我们可以使用exit退出 

我们看看su -是干嘛的

我们发现啊,这个su -是用登录身份进入的root,和su的区别就明显了吧

 我们再看看sudo指令——sudo是单条指令获取root权限的指令

使用这条命令,我们需要在root账号里将普通用户添加到信任列表里,这个我们先不讲,我们等到使用vim的时候再讲,你们先自己去了解——http://t.csdnimg.cn/262DE

设置好了我们就可以使用sudo了,我们第一次使用sudo的时候需要输入root账号的密码

什么是权限?

  • 权限如权力,决定了你可以干什么,不能干什么
  • 权限如身份,有高低之分
  • 权限也和事物的“属性”相关

2.Linux权限管理

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

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

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

 我们可以看看

在windows下,文件后缀名是很重要的,比如.exe

Linux系统中文件名后缀——没有直接的意义。(当然不代表不用) 

例如:linux上面.exe改成.out类型没有任何问题,改成任何的类型都没问题

当然也有例外——gcc是一款编译器——是位于linux操作系统上面的一款软件——linux中不区别文件后缀,但是软件区分——导致使用gcc时.txt不能被编译,.c可以被编译

linux如何看待后缀:看用户需求,没太大作用啊

2.2.1.文件类型

  • d:文件夹/目录文件
  • -:普通文件(包括可执行文件,文本文件,库等常见的文件)
  • l:软链接(类似Windows的快捷方式)
  • b:块设备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件(例如显示器,键盘等串口设备)
  • s:套接口文件

 第一个字母是d或者-,明白了吧

2.2.2.基本权限

  • 读(r):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  • 写(w):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  • 可执行(x):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
  • “-”权限只有3种,且按读写可执行权限的位置是确定的,-代表对应的权限位置不具有该项权限

第2-4个字符代表文件所有者(通过whoami指令查找 )的权限 ,前两行是rwx——代表可读可写可执行

后面两行是rw-,代表可读可写不可执行

第5-7是所属用户组的权限,在后面是其他用户的权限 

  • 文件所有者:创作者——上面的第一个的zs_108
  • 所属用户组:和创作者同一个组的权限——上面的第二个的zs_108
  • 其他用户: 不是上面两个的就是其他用户

上面这一堆用户和linux中的root,普通用户是什么关系呢?

root,普通用户相当于具体的人

而文件所有者,所属用户组,其他用户相当于一种身份

人可以有各种身份,用在这里也是一样的意思——root,普通用户可以是上面三种身份的任何一个

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

3.1.chmod

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

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

常用选项:

  • R -> 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

权限的认证只执行一次,按拥有者—>所属组-->其他成员的顺序来认证

chmod命令权限的格式

①用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

用户符号:  

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

我们举个例子

我们对log.txt文件进行权限修改——其他用户增加可读权限 

 很明显了啊

删除我就不提了,太简单了

还有另外一种用法

再看一个例子

 ②三位8进制数字

 我们看看几个例子便可知道怎么使用了

太简单了 

3.2.chown

功能:修改文件的拥有者——不管你同不同意,我都要修改

格式:

chown [参数] 用户名 文件名

这个是要文件所有者才可以修改的 

我们换成root账号来看看 

 

这个时候,我们root账号就不能修改这个a.c的属性了,因为root不再是文件拥有者了 

3.3.chgrp

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

格式:

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

常用选项:

  • -R 递归修改文件或目录的所属组

 我们上面修改了文件所有者,我们现在可以修改文件所属组

3.4.umask

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

  • 新建文件夹默认权限=0666(八进制)——110 110 110(二进制)
  • 新建目录默认权限=0777(八进制)——111 111 111(二进制)

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。

  • 其实给普通文件的默认权限是664
  • 目录文件的默认权限是775

原因就是创建文件或目录的时候还要受到 umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

格式:umask 权限值

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

凡是在umask里出现的权限,不会出现在最终的文件权限里出现!

我们看个例子——全部转换为二进制

110 110 110   起始000 000 010   umask110 110 100   得到的默认权限——即默认权限变成了664
111 111 111  最初的默认权限000 000 010  umask111 111 101  最终的默认权限——775

最终权限=起始权限&(~umask)

 我们可以让所有文件都没有读和可执行的权限

对应权限是101(二进制)   也就是5(八进制)

这样子我们就可以让所有文件都没有读和可执行的权限了

linux里面很完美的一个设计

3.5.file指令:

功能说明:辨识文件类型。

语法:file [选项] 文件或目录... 

常用选项:

  • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -z 尝试去解读压缩文件的内容。 

4.目录的权限

决定一个文件是不是可以删除,不由它自己的权限设置,而是它所处的目录的权限决定

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

 补充:我们看看普通目录的家目录的默认权限,我们发现啊,所属组和其他成员都没有权限以任何形式访问到我们的家目录

有的时候,我们多个用户想进行文件数据的共享,所以我们不能在家目录里共享文件

我们应该换一个目录来共享

问题来了~~

换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写 权限. 

这好像不太科学啊, 我张三创建的一个文件, 凭什么被你李四可以删掉? 我们用下面的过程印证一下. 

首先我们需要弄到两个普通账号来(我这里是同一个root账号里的),我这里是zs_108和lxl_113,两者都可以访问根目录

我们换root账号,在根目录里面创建一个shared目录,把它的权限全设置成rwxrwxrwx

可读可写可执行

我们回到普通用户那里去

我使用zs_108进入这个shared文件夹里创建一个文件a.txt

我们看这个a.txt的权限,对于其他用户(bcq_113)来说是只能读的

但bcq_113却直接把a.txt删了!!!!!

这个是因为shared的权限是rwxrwxrwx,有写权限,就有权删除了

但是我们把写权限去掉了,我们就不能在这个共享目录里面创建任何文件了

这一点也不合理!!!!!

为了解决这个不科学的问题, Linux引入了粘滞位的概念.

4.1粘滞位——(chmod +t)

这个一般用于共享目录啊!!!!

这样子大家就能进行对自己文件的增删改,但是不能对别人是文件的任何修改

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

  • 一、超级管理员删除
  • 二、该目录的所有者删除
  • 三、该文件的所有者删除

我们接着回答上面那个问题

我们将shared目录设置粘滞位 (注意那个rwt)t是一种特殊的权限

回到zs_108账号,我们进入shared目录,创建一个新的b.txt

 我们换成bcq_113账号再来对它进行删除

不让你删除了

5.关于权限的总结

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

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

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

相关文章

Object.entries方法的使用

Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组。 有以下需求&#xff1a; let cpuData reactive([{ label: 总量, content: test },{ label: 已使用, content: test },{ label: 未使用, content: test } ])<el-form label-position"left" l…

环卫车北斗GPS视频监控定位解决方案的应用与优势

一、引言 随着城市化进程的加快&#xff0c;环卫车作为城市环境卫生的重要保障力量&#xff0c;其运行效率与安全性直接关系到城市形象与居民生活品质。然而&#xff0c;传统的环卫车管理模式往往存在信息不对称、调度不合理、行驶不规范等问题&#xff0c;导致城市道路污染和…

微信小程序对接发货功能

注&#xff1a;微信小程序对接发货功能 文档地址&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order-shipping/order-shipping.html php代码 common.php use think\Config; use think\Db; use fast\Http; us…

LabVIEW远程开发与调试

在现代项目开发中&#xff0c;远程开发与调试已经成为一种常见的模式&#xff0c;特别是在使用LabVIEW进行工程项目时。本文将详细分析LabVIEW远程开发与调试的优缺点&#xff0c;并从多个角度说明如何建议客户采用这种方式&#xff0c;以提高项目效率和质量。 优点 灵活性和便…

Linux【安全 02】OpenSSH漏洞修复(离线升级最新版本流程)网盘分享3个安装包+26个离线依赖

OpenSSH离线升级最新版本流程 1. 漏洞信息2. 环境说明3.依赖安装3.1 在线安装3.2 离线安装 4.备份卸载4.1 备份4.2 卸载旧版本 5.安装5.1 zlib5.2 ssl5.3 openssh5.3.1 安装5.3.2 配置 6.脚本整理7.文件资源 本文仅针对CentOS7.8版本&#xff0c;其他版本未测试&#xff0c;安装…

GSM信令流程(附着、去附着、PDP激活、修改流程)

1、联合附着流程 附着包括身份认证、鉴权等 2、去附着流程 用户发起去附着 SGSN发起去附着 HLR发起去附着 GSSN使用S4发起去附着 3、Activation Procedures(PDP激活流程) 4、PDP更新或修改流程 5、Deactivate PDP Context 6、RAU(Routeing Area Update)流程 7、鉴权加…

生成式AI,在云端的绽放与盛开

编辑&#xff1a;阿冒 设计&#xff1a;沐由 毫无疑问&#xff0c;生成式AI已然成为当今技术发展和应用创新的重要引擎之一。 过去的一年多时间里&#xff0c;我们每个人都在目睹和见证着生成式AI是如何以移山倒海的力量&#xff0c;为诸多行业带来革命性乃至颠覆性的变革&…

新版校园跑腿外卖独立版+APP+小程序前端外卖配送平台源码

同城校园跑腿外卖配送平台源码&#xff0c;这套目前全网还没有人分享过&#xff0c;这个是开源的&#xff0c;所以没有任何问题了&#xff0c;这套源码非常吊&#xff0c;支持自定义diy 你可以设计你的页面&#xff0c;设计你自己的风格&#xff0c;支持多校园&#xff0c;独立…

深度学习中的模型架构详解:RNN、LSTM、TextCNN和Transformer

深度学习中的模型架构详解&#xff1a;RNN、LSTM、TextCNN和Transformer 文章目录 深度学习中的模型架构详解&#xff1a;RNN、LSTM、TextCNN和Transformer循环神经网络 (RNN)RNN的优点RNN的缺点RNN的代码实现 长短期记忆网络 (LSTM)LSTM的优点LSTM的缺点LSTM的代码实现 TextCN…

mac电脑安卓设备文件传输助手:MacDroid pro 中文激活版

MacDroid Pro是一款专为Mac电脑和Android设备设计的软件&#xff0c;旨在简化两者之间的文件传输和数据管理&#xff0c;双向文件传输&#xff1a;支持从Mac电脑向Android设备传输文件&#xff0c;也可以将Android设备上的文件轻松传输到Mac电脑上。完整的文件访问和管理&#…

机器学习笔记 - PyTorch 分布式训练概览

一、简述 对于大规模的数据集,只能进行分布式训练,分布式训练会尽可能的利用我们的算力,使模型训练更加高效。PyTorch提供了Data Parallel包,它可以实现单机、多GPU并行。 PyTorch 数据并行模块的内部工作原理 上面的图像说明了PyTorch 如何在单个系统中利用多个 G…

目标检测——无人机搜索救援数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

springboot项目banner生成器

Spring Boot banner在线生成工具&#xff0c;制作下载英文banner.txt&#xff0c;修改替换banner.txt文字实现自定义&#xff0c;个性化启动banner-bootschool.netSpring Boot banner工具实现在线生成banner&#xff0c;轻松修改替换实现自定义banner&#xff0c;让banner.txt文…

基于Lumerical fdtd进行无序光子晶体波导的仿真设计及优化

光子晶体是一类通过不同折射率介质周期性的排列而形成的具有光波长量级的周期性人工微型结构&#xff0c;相比于传统晶体来说&#xff0c;由于介电函数的周期性分布&#xff0c;光子晶体也会产生一些类似于传统晶体的带隙&#xff0c;使光局域在带隙中无法传播。我们在完整的光…

Linux - 文件管理高级2

3.处理字符 sed ① sed 默认情况下不会修改原文件内容 ② sed 是一种非交互式的编辑器 3.1 工作原理 将原文件一行一行的进行处理&#xff0c;取出一行&#xff0c;放入“模式空间进行处理”&#xff0c;处理完成之后将结果输出到屏幕上&#xff0c;然后读取下一行&#xf…

智慧启航 网联无限丨2024高通汽车技术与合作峰会美格智能分论坛隆重举行

5月30日下午&#xff0c;以“智慧启航 网联无限”为主题的2024高通汽车技术与合作峰会&美格智能分论坛在无锡国际会议中心隆重举行&#xff0c;本次论坛由高通技术公司与美格智能技术股份有限公司共同主办&#xff0c;上海市车联网协会、江苏省智能网联汽车产业创新联盟、江…

一键分割视频并生成M3U8格式:高效管理视频内容,畅享流畅播放新体验

视频内容已成为我们日常生活和工作中的重要组成部分。无论是个人分享生活点滴&#xff0c;还是企业宣传产品与服务&#xff0c;视频都以其直观、生动的形式&#xff0c;吸引着我们的眼球。然而&#xff0c;随着视频内容的不断增多&#xff0c;如何高效、便捷地管理这些视频&…

如何让Google收录网站?

Google收录网站的前提条件是确保网站可以公开访问&#xff0c;并且页面加载速度需要快&#xff0c;这样Google爬虫才可以访问到你的网站&#xff0c;并且索引你网站中的内容。实现了上面的前提条件&#xff0c;可以通过优化数据结构、创建站点地图、使用Google Search Console、…

【机器学习】智能选择的艺术:决策树在机器学习中的深度剖析

在机器学习的分类和回归问题中&#xff0c;决策树是一种广泛使用的算法。决策树模型因其直观性、易于理解和实现&#xff0c;以及处理分类和数值特征的能力而备受欢迎。本文将解释决策树算法的概念、原理、应用、优化方法以及未来的发展方向。 &#x1f680;时空传送门 &#x…

JS脚本打包成一个 Chrome 扩展(CRX 插件)

受这篇博客 如何把CSDN的文章导出为PDF_csdn文章怎么导出-CSDN博客 启发&#xff0c;将 JavaScript 代码打包成一个 Chrome 扩展&#xff08;CRX 插件&#xff09;。 步骤&#xff1a; 1.创建必要的文件结构和文件&#xff1a; manifest.jsonbackground.jscontent.js 2.编写…