【Linux】权限的概念

news2024/11/19 2:45:38

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   umask

110 110 100   得到的默认权限——即默认权限变成了664
111 111 111  最初的默认权限

000 000 010  umask

111 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.coloradmin.cn/o/1720849.html

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

相关文章

ADC数模转换器

一、ADC(Analog-Digital Converter)模拟-数字转换器 1、ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 2、12位逐次逼近型ADC,1us转换时间 3、输入电压范围:0~3.3V&a…

掌握 JavaScript 基本输出方法

掌握 JavaScript 基本输出方法 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 JavaScript 是一种强大且灵活的编程语言,广泛用于 Web 开发。通过 JavaScript&#xff…

2.2 Docker安装redis

2.2 Docker安装redis 1.安装redis docker run --restartalways -p 6379:6379 --name myredis -d redis:7.0.12 --requirepass Hgh675667%–restartalways 开机自启动 -p 6379:6379 端口映射 –name myredis 容器名称 -d redis:7.0.12 redis版本 –requirepass Hgh675667% 密…

异常处理1--5.31

try--catch--finally格式: try{ }catch(错误类型){ }finally{ } 执行情况: package javatest5;public class test {public static void main(String[] args) {int num115;int num20;try{System.out.println("商等于:"num1/num…

JVM学习-类加载过程(二)

Initialization初始化阶段 为类的静态变量赋予正确的初始值 具体描述 类的初始化是类装载的最后一个阶段,如果前面的步骤没有问题,那么表示类可以顺利装载到系统中,此时,类才会开始执行Java字节码(即,到了初始化阶段…

龙芯3A4000+FPGA云终端解决方案,搭载昆仑国产化固件,支持UOS、银河麒麟等国产操作系统

龙芯云终端基于国产化龙芯高性能四核3A4000处理器平台的国产自主可控解决方案,搭载昆仑国产化固件,支持UOS、银河麒麟等国产操作系统,满足国产化信息安全运算的需求,实现从硬件、操作系统到应用的完全国产、自主、可控,是国产信息…

AI 赋能前端 -- 文本内容概要生成

幸福不在于你获得了什么,而在于你比他人多获得了什么 是比较出来的 大家好,我是柒八九。一个专注于前端开发技术/Rust及AI应用知识分享的Coder 此篇文章所涉及到的技术有 OpenAILangChainRust/WebAssemblyWeb Workerreact+ts+vite配置环境变量(env)因为,行文字数所限,有些概…

常用电机测试方法的介绍与功能实现(M测试方法)

目录 概述 1 常用电机测速方法简介 1.1 方法概览 1.2 编码器测速方法 2 M法测速 2.1 理论描述 2.2 实现原理 2.3 速度计算方法 3 功能实现 3.1 功能介绍 3.2 代码实现 3.2.1 使用STM32Cube配置参数 3.2.2 脉冲计数功能 3.2.3 测速函数 4 测试 概述 本文主要介绍…

Mybatis-plus 更新或新增时设置某些字段值为空

方式一 在实体中设置某个字段为的注解中 TableField(updateStrategy FieldStrategy.IGNORED)private Date xxxxxxTime;通过这种方式会指定更新时该字段的策略,通常情况下updateById这种会根据字段更新,通常都会判断null 以及空值 指定 updateStrategy …

521源码网-免费网络教程-Cloudflare使用加速解析-优化大陆访问速度

Cloudfalre 加速解析是由 心有网络 向中国大陆用户提供的公共优化服务 接入服务节点: cf.13d7s.sit 接入使用方式类似于其它CDN的CNAME接入,可以为中国大陆用户访问Cloudflare网络节点大幅度加速,累计节点130 如何接入使用 Cloudflare 加速解析&#…

某咨询公司的大数据解决方案介绍(32页PPT)

方案介绍: 本咨询公司的大数据平台解决方案以企业实际需求为出发点,结合先进的大数据技术和行业经验,为企业提供一站式的大数据服务。通过实时数据收集与处理、深度数据分析与挖掘、可视化数据展示以及灵活的数据应用与扩展,帮助…

[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle

前言 今天给大家分享一个方便易用的.NET在线代码编辑工具,能够帮助.NET开发人员快速完成代码编写、测试和分享的需求(.NET开发者的福音):.NET Fiddle。 .NET Fiddle介绍 我们可以不用再担心环境与庞大的IDE安装的问题&#xff0…

frp之XTCP实现内网穿透家用电脑远程桌面公司电脑

官网XTCP介绍 《XTCP介绍》 实现图 fprs.toml # frps 服务端口(不填,则默认:7000) bindPort 81 auth.token "token 令牌"公司电脑frpc.toml serverAddr "frps公网服务器域名或ip" serverPort frps 服…

小程序配置自定义tabBar及异形tabBar配置操作

什么是tabBar? 小程序的tabbar是指小程序底部的一组固定导航按钮,通常包含2-5个按钮,用于快速切换小程序的不同页面。每个按钮都有一个图标和文本标签,点击按钮可以切换到对应的页面。tabbar通常放置在小程序的底部,以…

springboot基本使用十一(自定义全局异常处理器)

例如:我们都知道在java中被除数不能为0,为0就会报by zero错误 RestController public class TestController {GetMapping("/ex")public Integer ex(){int a 10 / 0;return a;}} 打印结果: 如何将这个异常进行处理? 创…

智慧医院物联网建设-统一管理物联网终端及应用

近年来,国家卫健委相继出台的政策和评估标准体系中,都涵盖了强化物联网建设的内容。物联网建设已成为智慧医院建设的核心议题之一。 作为医院高质量发展的关键驱动力,物联网的顶层设计与网络架构设计规划,既需要结合现代信息技术的…

NetApp财季报告亮点:全闪存阵列需求强劲,云计算收入增长放缓但AI领域前景乐观

在最新的财季报告中,NetApp的收入因全闪存阵列的强劲需求而显著增长。截至2024年4月26日的2024财年第四季度,NetApp的收入连续第三个季度上升,达到了16.7亿美元,较前一年同期增长6%,超出公司指导中值。净利润为2.91亿美…

从openstack环境中将服务器镜像导出的简单办法

1 登录openstack的页面,找到计划导出的主机信息。 通过实例名称, IP地址,找到对应的记录。点击实例名称,进入详情页。 在这里主要可以知道,当前主机在服务器上的文件ID,可以按这个ID去找对应的目录。 还可…

自定义对象池BasePooledObjectFactory的使用

项目中用到了apache的对象池来管理文件导出相关资源连接和回收功能,因此花点时间简单了解下对象池相关使用,做点记录。 一. 连接池 频繁的建立和关闭连接,会极大的降低系统的性能,而连接池会在初始化的时候会创建一定数量的连接…

HTML静态网页成品作业(HTML+CSS)—— 冶金工程专业展望与介绍介绍网页(2个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…