【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二)

这篇具有很好参考价值的文章主要介绍了【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🚩纸上得来终觉浅, 绝知此事要躬行。
🌟主页:June-Frost
🚀专栏:Linux入门

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

🔭【从零开始学习Linux】系列均属于Linux入门,主要包含Linux操作系统下的指令、操作、权限以及开发工具,使得拥有基本编写代码的能力。

🔥该文章主要了解Shell外壳(理论)及用户权限,该系列分为两部分进行总结叙述。第一部分包含了shell外壳的理论知识以及部分权限知识,请看这里👉【从零开始学习Linux】一文带你了解Shell外壳及用户权限(一),而该篇为第二部分,将继续详细讲述用户权限的相关知识。

⌛️前言:

 在Linux系统中,文件权限用户隶属角色是两个非常重要的概念。通过更改文件权限,我们可以控制谁可以读取、写入或执行特定文件或目录;而通过更改用户隶属角色,我们可以改变文件的拥有者和所属组,从而更好地管理文件和目录的安全性和访问权限。

 在第一部分中,我们已经介绍了如何更改文件权限,包括使用chmod命令以符号表示法和数字表示法来修改文件的读、写和执行权限。这些操作可以帮助我们确保只有授权的用户能够访问特定的文件或目录,从而提高系统的安全性。

 然而,仅仅更改文件权限并不足以保护文件免受未经授权的访问。如果系统受到攻击,攻击者可能会尝试通过提升自己的用户隶属角色来获取更高的权限。所以,我们需要了解如何更改文件权限隶属的角色。


⌛️ 更改文件权限隶属角色

 在Linux中,你可以使用chown命令来更改文件或目录的所有者和所属组。

chown

  • 语法chown [选项] 新所有者 文件/目录
  • 功能:更改文件或目录的所有者和所属组。
  • 说明:① 新所有者可以是用户名或用户ID,也可以是用户名和组名的组合,用空格隔开。② 只有超级用户(root)或文件的当前拥有者(被授权) 才能更改文件的所有者和所属组。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

 📘如果想同时修改拥有者和所属组,可以使用 用户名:组名 的组合。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

📗一些常用的选项:

  • -R 递归地更改目录及其子目录中的所有文件的所有者和所属组。
  • -v 显示详细的操作信息。
  • -c 只显示发生更改的文件或目录的操作信息。
  • -f 忽略错误信息,不显示错误信息。

 此外,在Linux中chgrp也可以修改用户隶属角色。

chgrp

  • 语法chgrp [参数] 用户组名 文件名
  • 功能:修改文件或目录的所属组。
  • 常用选项-R 递归修改指定目录下的所有文件及子目录。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

这两个命令只有超级用户(root)或文件的当前拥有者(被授权) 才能更改 进行说明:

 在Linux系统中,文件的拥有者和所属组是与系统安全和权限管理紧密相关的属性。为了确保系统的安全性和稳定性,只有具有管理员权限的root用户或其授权(被添加到白名单)的用户才能更改文件的拥有者和所属组。

 普通用户在没有适当权限的情况下更改文件的拥有者或所属组可能会导致系统不稳定或其他用户的隐私泄露。此外,为了防止恶意用户更改重要系统文件的拥有者和所属组,从而获得不当的权限,Linux系统采取了严格的权限管理策略。

 当普通用户需要进行此类操作时,他们可以通过以下方法获得临时的root权限:

  • 使用su命令切换到root用户。
  • 使用sudo命令执行特定的操作并获得root的权限。

 即使获得了root权限,用户也应谨慎操作,确保了解正在执行的操作的后果。


⌛️ 文件类型

 文件类型可以反应出该文件属于哪一种类别,可以被哪些软件操作。在Windows操作系统中,文件类型通常使用后缀标识,但是Linux系统下的文件类型是通过文件属性字段来体现的,文件属性字段由10个字符组成,后面九个字符表示每个身份对应的权限,而第一个字符表示文件类型

📘文件类型可以分为以下几种:

  • - 普通文件:这是Linux中最常见的一种文件类型,用于存储文本、数据等。可以细分为纯文本文件,源代码,图片,视频,库,可执行文件等。
  • d 目录文件。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

  • b 块设备文件:磁盘被视为块设备文件的一种常见形式,因为它具有块设备的特性,如支持随机访问、可以独立地读写等。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

  • c 字符设备文件:字符设备通常没有内部缓冲区,数据会立即传输到设备或从设备中读取,所以对字符设备的读写操作是实时的,不会有额外的延迟。同时,字符设备通常是顺序访问的,即按照数据的顺序进行读写操作,不支持像块设备那样的以块为单位进行读写。键盘,显示器,打印机等就是常见的形式。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

  • l 软链接:链接文件使用ln命令创建,软链接(也称为符号链接)则类似于Windows的快捷方式,它指向目标文件或目录的路径,可以随时修改和更新。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

  • p 管道文件:被用于进程间通信的一种特殊文件类型。
  • s 套接口文件(Socket):用于进程间网络通信。

 通过使用file指令可以辨识文件类型。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

⏰注意:对于Linux系统来说,文件类型是不看后缀标识的,但是在上层工具上(例如,编译器)是需要后缀的。此外,在应用级别上,文件名后缀可以方便地表示出文件的类型、内容或者格式,对于识别和管理文件具有很大的帮助。


⌛️ 目录权限

目录权限是文件系统中的另一个重要组成部分,它决定了用户对目录及其内容的访问和操作能力。与文件权限类似,目录权限也分为读、写和执行三种基本权限,分别对应着用户对目录的查看、修改和执行操作。

 对一个目录来说:

  • 拥有执行权限才可以进入目录

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

  • 拥有读权限才可以查看目录下的文件属性列表

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

  • 拥有写权限才可以在目录中创建,删除文件,包括修改文件名

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

🌟 注意:没有写权限是无法改目录内的文件名的,但是可以修改目录内的文件权限。这是因为在改变文件的名称时,操作系统实际上是在删除原来的文件名并将其替换为新的文件名。这个操作涉及到在目录中修改文件记录,需要写入权限才能完成。但是修改文件权限只需要更新元数据即可,这些元数据通常不需要写入权限就可以查看和修改


⌛️ umask权限掩码

 每当我们默认创建一个文件时,会发现默认权限显示为rw-rw-r--,反应到八进制数字表示法就是664,创建一个目录时,发现默认权限为rwxrwxr-x,反应到八进制数字表示法就是775。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

 这种现象的出现是初始权限和权限掩码的共同作用下形成的。为了防止未经授权的用户执行文件并且大部分文件也都不是可执行文件,所以系统默认创建的文件是不具有执行权限,初始权限就表示为666,但是对于一个目录,它本身就是用来存储文件和子目录的,需要允许其他用户在此目录下创建、删除和修改文件,所以目录的初始权限就是777。

 在Linux系统下,提供了umask权限掩码,它的存在让用户可以定制一个文件被创建时的默认权限,它是一个由3个八进制的数字所组成的值,将初始权限屏蔽权限掩码后,即可产生建立文件时预设的权限。

 在shell中可以直接运行umask命令来查看当前shell的umask值。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

  为了让大家更好的理解,来看图👇

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维

🔭如果umask中1的部分对应的初始权限本身就是0,就不需要处理了。我们可以将最终形成的默认权限看作是通过 起始权限&(~umask) 得来的。


⌛️ 粘滞位

 在Linux系统中,/tmp目录作为系统的临时文件夹,可以实现多个用户之间的文件共享,为了保证这种功能,会将other对应的读,写,执行权限全部放开

 但是在前文中,我们已经了解到如果目录中有写权限,是可以对内部文件进行删除的。所以,为了防止普通用户随意删除或移动其他用户的临时文件,系统给共享目录的other新增了一个粘滞位(t)。

 粘滞位不仅拥有执行(x)的意义,同时进一步对目录权限进行特殊限定:只有该目录下的文件的所有者和超级管理员(root)可以删除或移动该文件,即使其他用户有该目录的写权限,也无法删除或移动不属于他们的文件。

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二),Linux入门,linux,学习,运维


❤️ 结语

 文章到这里就结束了,如果对你有帮助,你的点赞将会是我的最大动力,如果大家有什么问题或者不同的见解,欢迎大家的留言~文章来源地址https://www.toymoban.com/news/detail-753891.html

到了这里,关于【从零开始学习Linux】一文带你了解Shell外壳及用户权限(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 一文带你快速了解如何在Linux上部署项目

    为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。 (博客的参考源码可以在我主页的资源里找到,如果在学习的

    2024年02月15日
    浏览(30)
  • 一文带你了解11个Linux最常用的命令

    Linux的命令有很多,但是有些命令在实际开发中使用的频率是很高的,本文为大家介绍11个Linux最常用的命令. ls 命令是列出目录中的文件和子目录的命令,它的基本语法如下: 在Linux中, ls 命令使最常用的命令了. ls命令的常用选项如下: -a:显示所有文件,包括隐藏文件。 -l:以

    2024年02月08日
    浏览(27)
  • Linux——shell外壳程序

    Linux严格意义上说的是一个操作系统,我们称之为“核心 “ ,但我们一般用户,不能直接使用核心。 而是通过 核心的“外壳”程序,也就是所谓的shell 。 shell是所有外壳程序的 统称 平时程序员所用的指令操作和开发操作都是 在shell外壳之上操作 的 在 Linux中 ,shell外壳指的

    2024年02月07日
    浏览(32)
  • 【从零开始学习JAVA | 第四十篇】了解线程池

    目录 前言: 线程池: 线程池的工作流程: 代码实现线程池: 任务拒绝策略:  线程池多大才算合适? 总结:         在Java编程中,线程池是一个强大的工具,它能够管理和复用线程,提供高效的并发处理能力。通过线程池,我们可以有效地控制并发线程的数量,并降

    2024年02月13日
    浏览(41)
  • 【Linux】shell外壳和权限

    什么是 shell外壳 呢?首先我们应该知道, 用户和操作系统内核是不能直接接触的 ,因为 首先操作系统本身就很难去操作,另一方面也是为了操作系统安全考虑 ,不能让用户直接去操作内核。 于是这时候,在内核和用户之间就有一个“屏障”负责 传话 ,就是将用户的 需求

    2024年01月24日
    浏览(21)
  • 从零开始的Hadoop学习(五)| HDFS概述、shell操作、API操作

    1.1 HDFS 产出背景及定义 1) HDFS 产生背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切 需要一种系统来管理多台机器上的文件 ,这就是分布式文件管理系统。 HDFS只是分布式文件管理系统

    2024年02月10日
    浏览(28)
  • Linux中shell外壳,用户权限,文件权限

    所属专栏:Linux学习❤️ 🚀 博主首页:初阳785❤️ 🚀 代码托管:chuyang785❤️ 🚀 感谢大家的支持,您的点赞和关注是对我最大的支持!!!❤️ 🚀 博主也会更加的努力,创作出更优质的博文!!❤️ 🚀 关注我,关注我,关注我,重要的事情说三遍!!!!!!!!

    2024年02月08日
    浏览(29)
  • 【Linux】一个小故事让你秒懂shell外壳程序

      目录 🌈前言 🌞shell外壳程序 🐣用户是直接访问操作系统吗? 🐣什么是Shell外壳程序 🐣一个小故事加深你对Shell外壳程序的理解 🐣如何查看自己的外壳程序 🌄总结   🌈 前言 今天我将为大家详细讲解shell外壳程序,并且通过一个小故事来帮助大家理解和加深印象,故

    2024年02月12日
    浏览(32)
  • 【Linux】从零开始学习Linux基本指令(三)

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔥该文章主要了解Linux操作系统下的基本指令。 ⚡️该篇为Linux指令部分的终章,如果您想了解前两篇文章的内容,可以在阅读本文后点击👉【Linux】从零开始学习Linux基本指令(一) 和 【Linux】从零

    2024年02月08日
    浏览(31)
  • 【Linux】从零开始学习Linux基本指令(一)

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔥该文章主要了解Linux操作系统下的基本指令。  在计算机发展过程中,先出现的是指令,后来才有了图形化界面。指令操作和图形化界面操作在 本质上是相同的 ,都是用户与操作系统交互的方

    2024年02月08日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包