初识Linux:第五篇

这篇具有很好参考价值的文章主要介绍了初识Linux:第五篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

初识Linux:第五篇

😁本篇主要介绍Linux权限的相关知识👇

初识Linux:第五篇

1.Linux下的用户

🤔在了解权限之前,先来了解一下Linux有哪些用户呢?

Linux下的用户有两种,超级用户(root用户),普通用户(也就是你adduser的用户);
windows:
在windows下的用户是管理员用户(超级用户)和普通用户,与Linux下的差不多,但是Linux的权限要比windows高;


🤔那么超级用户和普通用户有什么区别呢?

  • 权限不同对于超级用户而言基本不受权限约束(注意并不是说root拥有所有权限,有些特殊的权限root也是不行的),对于普通用户而言是受权限的限制的;
  • 命令提示符不同,超级用户(root)的是’#‘,而普通用户的是’$ ‘;

初识Linux:第五篇
初识Linux:第五篇


🤔那么怎么在两种用户之间切换呢?

指令:su 或者 su -或者sudo(受限制的su)
su和su -的区别

  • 对于su而言,直接切换用户,无需重新登陆,所以路径不改变(原来的切换前的路径);
  • 对于su -而言,以重新登陆的方式进入,所以路径会改变登陆后的路径(新用户的家目录);
  • 退出当前用户都是exit/^+d;

sudo暂时先不说,sudo可以对指令进行提权等,需要配置文件(因为系统默认不信任你),需要用到vim(暂时还不知道)😭;


su和su -指令的用户切换

1.root->普通用户:su+用户名/su - 用户名,无需输密码;
初识Linux:第五篇
初识Linux:第五篇

2.普通用户->root:su/su -,需要输入root密码;

初识Linux:第五篇
初识Linux:第五篇
3.普通用户->普通用户,su 用户名/su - 用户名,需要输入指定的用户名密码;
初识Linux:第五篇
初识Linux:第五篇

从这里可以看出,root的权限还是很大的(完全不需要输密码,随意切换);


2.Linux权限管理

🤔🤔说了这么多那么什么是权限?

举个简单的例子:
初识Linux:第五篇
我们发现我们不充vip看不了这个电影,这个就是权限;

所以简而言之,权限就是一件事情是否允许被你做,Linux下权限=人+事物属性

🤔我们前面所说的root或者普通用户是什么?

注意:root或普通用户是人,我们知道每个人都有自己的身份(文件中主要有三种身份:拥有者,所属组,其他人),所以权限认证的逻辑就是人和身份是否匹配;

2.1文件权限管理

权限=人+事物属性
初识Linux:第五篇

😁谈到文件,就不得不说说文件的类型和属性了👇

  1. 文件类型(第一个字符)

d:文件夹
-:普通文件(文本,可执行程序,库等)
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件(用来进行通信的)
c:字符设备文件(例如键盘或显示器文件)
s:套接口文件

举几个例子
初识Linux:第五篇
初识Linux:第五篇
初识Linux:第五篇

Linux系统中,文件名后缀没有直接意义(不代表不用),我们主要看文件类型;

🤔🤔怎样理解上面的这句话?

初识Linux:第五篇
我写了一个C语言代码并编译:
初识Linux:第五篇
初识Linux:第五篇
如何理解不代表不用?
初识Linux:第五篇
这里阐明一下,Linux操作系统对文件名后缀没有直接意义,但是Linux中的软件(比如gcc),会使用文件名后缀;


  1. 文件属性(后面的9个字符)

初识Linux:第五篇

🤔🤔不难看出,这里有四种字符,那么这四种字符到底是什么意思呢?

先细说普通文件的文件属性,r,w,x,-的意思,后面再学习目录文件的文件属性r,w,x,-的意思;

普通文件
r:可读;
w:可写;
x:可执行;
-:不具有该项权限;

🤔那么为什么会有这么多?

这些权限对应的是身份,Linux中文件权限的身份主要有以下三种:拥有者(u:owner),所属组(g:group),其他人(o:others);
每三个字符对应一个身份:

初识Linux:第五篇

所以我们进行权限认证时,就是拿你的用户名和身份匹配(相当于if…else if…else…逻辑);


2.2文件权限的更改

🤔那么文件的权限可以改吗?

可以,在学习如何去改之前,需要知道文件权限值的表示方法;

  1. 字符表示方法
    初识Linux:第五篇

  2. 8进制数值表示方法

🤔为什么可以用8进制数值表示方法?

因为在Linux中每三个字符的位置是确定的,第一个位置是r/-,第二个位置是w/-,第三个位置是x/-,那么我们可以看出每个位置要么有权限,要么没权限,有权限就可以用1表示,没权限就可以用0表示,那么三个字符就可以用三个数字(0/1)组成的二进制表示,也就可以化为一个8进制数字;

初识Linux:第五篇


🤔如何改呢?

注意改变权限对root用户无影响,也就是说超级用户基本不受权限约束;

初识Linux:第五篇

2.21改变文件访问权限属性

  1. 改变文件访问权限属性
    指令:chmod [参数] 文件权限值 目标文件
    可改文件属性的人拥有者或者root用户
    常用参数:-R : 递归修改目录文件的权限;

  • 用字符表示方法修改文件权限
    +:向权限范围增加权限代号所表示的权限
    -:向权限范围取消权限代号所表示的权限
    用户符号:
    u:拥有者
    g:拥有者同组用
    o:其它用户
    a:所有用户

例如:
初识Linux:第五篇
初识Linux:第五篇

初识Linux:第五篇
初识Linux:第五篇初识Linux:第五篇


  • 以8进制的表示方法修改文件访问权限
    例如:
    初识Linux:第五篇
    初识Linux:第五篇
    初识Linux:第五篇初识Linux:第五篇

2.22改变文件的身份

  1. 改变文件的身份

权限=人+事物属性,所以我们也是可以改身份的;
权限认证是看你当前用户和身份是否匹配,root除外;
注意改变权限对root用户无影响

  • 改拥有者的身份
    指令:chown [参数] 用户名 文件名
    可更改的人root或者sudo
    常用选项:-R :递归修改目录文件的拥有者;
    例如:
    初识Linux:第五篇
    因为你要给别人拥有者这个身份,你需要征得别人同意,所以我们采用强制给别人
    sudo+指令(由于sudo暂时没说)或root用户更改文件拥有者;

初识Linux:第五篇
初识Linux:第五篇
初识Linux:第五篇


  • 改变所属组身份
    指令:chgrp [参数] 用户名 文件名
    可更改的人sudo或者root
    常用选项:-R :递归修改目录文件的所属组;
    例如:

初识Linux:第五篇
初识Linux:第五篇

  • 改变所属组和拥有者(一起变)
    指令:chown [选项] 用户名:用户名 文件名
    可更改的人sudo或者root
    常见选项:-R :递归修改目录文件的拥有者和所属组;
    例如:

初识Linux:第五篇


3.三个问题

初识Linux:第五篇
在Linux下

  • 新建文件夹默认权限=0666
  • 新建目录默认权限=0777
    但实际上你所创建的文件和目录,看到的权限往往不是上面这个值;

问题一

🤔为什么目录文件的默认权限值是0775,为什么普通文件的默认权限值是0664?

注意第一个0是表示8进制的意思
权限掩码umask凡是在umask中出现的权限,不会在最终权限中出现
原因就是创建文件或目录的时候还要受到umask(权限掩码)的影响。假设默认权限是mask,则实际创建的出来的文件权限是: 最终权限=mask & (~umask);
也就是说,我们所创建的文件或目录需要经过上述公式的计算才是我们真正看到的;
例如:
初识Linux:第五篇
初识Linux:第五篇


补充
umask指令用法:

  • umask:查看当前权限掩码;
  • umask 三位8进制数字:更改权限掩码;

初识Linux:第五篇
超级用户默认掩码值为0022,普通用户默认为0002

初识Linux:第五篇


问题二

🤔🤔目录文件的rwx是什么意思?

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

初识Linux:第五篇
也就意味者我们无法通过家目录来进行文件共享需求
所以我们需要在根目录下建立一个共享目录,这个共享目录能够让我们互相访问文件;
初识Linux:第五篇
初识Linux:第五篇
初识Linux:第五篇
初识Linux:第五篇

于是wang一气之下给我删了,因为删文件与目录文件的w权限有关,所以它可以删😭;

初识Linux:第五篇
初识Linux:第五篇

问题三

🤔🤔🤔有没有方法让他删不了我的文件?(我能共享文件,但是不让别人删)

当然root除外,因为root不受权限约束;
为了解决这个不科学的问题, Linux引入了粘滞位的概念;
粘滞位是一个特殊的可执行权限( t ),只能放在other上且只能给目录设置(因为我们主要目的就就是防止其他用户删除我们的文件)
用法:chmod o+t 文件名
例如:
初识Linux:第五篇
注意粘滞位是给目录的other设置的,上述的设置是给普通文件设置的,自然没用;

初识Linux:第五篇
初识Linux:第五篇


注意点:
初识Linux:第五篇
初识Linux:第五篇
那个shared是我切成root自己创建的;

总结

本篇主要介绍了如何切换用户,以及权限的操作,如何防范我们共享文件不被其他普通用户删除等,如果喜欢本篇不妨留下一个❤️,感谢大家观看,下期见;文章来源地址https://www.toymoban.com/news/detail-454657.html

到了这里,关于初识Linux:第五篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第五篇-ChatGLM2-6B模型下载

    可以使用如下代码下载 创建下载环境 编写代码 down_glm2.py snapshot_download其他参数 只允许下载部分类型的文件(以JSON为例) allow_patterns=‘*.json’, 不允许下载部分类型的文件(以JSON为例) ignore_patterns=[‘*.json’] 执行下 第一篇-ChatGLM-webui-Windows安装部署-CPU版 第二篇-二手工作站

    2024年02月14日
    浏览(58)
  • Cobalt Strike第五篇导入插件

    CobaltStrike有两种加载插件的方法,一种是在客户端加载,一种是在服务端加载。在客户端加载,当客户端没连接上服务端后,该插件即不会被加载。所以有时候需要在服务端加载某些插件。 一、插件下载 二、客户端加载 点击 CobaltStrike– Script Manager 点击 Load 加载插件,加载

    2024年02月16日
    浏览(38)
  • Python基础第五篇(Python数据容器)

    在编程世界里,数据容器无疑是我们的得力助手,它们帮助我们有效、有序地组织存储数据。在这篇文章里,我们将探索Python中的多种数据容器,了解它们的定义、创建及应用方式,以及如何遍历和操作这些容器。我们将会铺开一幅Python数据容器的全景图,让我们在编程旅程

    2024年01月23日
    浏览(30)
  • 测试概念第五篇—测试用例编写

    编写测试用例是验证软件系统功能是否按预期工作的重要步骤。测试用例应涵盖各种情况,包括正常情况、异常情况和边缘情况。以下是一些步骤来编写测试用例: 步骤一:了解需求和功能 了解需求 :理解正在测试的软件、功能或特性的需求。这将帮助你确定测试用例的目

    2024年02月06日
    浏览(51)
  • pytorch学习第五篇:NN与CNN代码实例

    这篇文章详细介绍了全链接神经网络实现方法,以及卷积的实现方法。最后我们发现,卷积的实现方法与全链接大同小异,因为 torch 为我们做了很多工作,我们来看看这两个有什么区别。 我们使用 torch 框架来实现两种神经网络,来对图形进行分类。 首先我们引入依赖包 下

    2024年02月06日
    浏览(41)
  • C++STL第五篇(链表List的使用方法)

    链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下

    2024年03月19日
    浏览(47)
  • 极智AI | 谈谈AI发展第五篇:AI编译框架

    欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文来谈谈 AI编译,是谈谈AI发展系列的第五篇。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:https://t.zsxq.com/0aiNxERDq 本文是 \\\"谈谈 AI 发展\\\" 的第五篇,

    2024年01月17日
    浏览(32)
  • 【Spring进阶系列丨第五篇】详解Spring中的依赖注入

    全称 Dependency Injection(DI) 与IoC的关系 IoC和DI其实说的是一个意思,可以这么说: IoC是一种思想,DI是对这种思想的一种具体实现 依赖关系的管理 以后都交给spring来维护,在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明。 依赖关系的维护

    2024年02月04日
    浏览(48)
  • 后端面试话术集锦第五篇:rabbitmq面试话术

    这是后端面试集锦第五篇博文—— rabbitmq 面试话术❗❗❗ RabbitMQ 是 Erlang 语言开发的基于 AMQP 的一款消息中间件,核心思想是生产者不会将消息直接发送给队列,消息在发送给客户端时先发送给交换机,然后由交换机转发给对应的队列。 它对路由( Routing ),负载均衡( Load b

    2024年02月10日
    浏览(38)
  • 微信小程序第五篇:页面弹出效果及共享元素动画

    系列文章传送门: 微信小程序第一篇:自定义组件详解 微信小程序第二篇:七种主流通信方法详解 微信小程序第三篇:获取页面节点信息 微信小程序第四篇:生成图片并保存到手机相册 目录 一、page-caontainer 实现假页弹出 二、share-element 实现共享元素动画 首先我们先看一

    2024年02月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包