Linux系统中常见的压缩命令和特殊权限说明
创始人
2024-05-11 04:31:18
0

在这里插入图片描述

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:Java案例分享专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:Linux操作系统常用命令

文章目录

  • Linux系统中常见的压缩命令
    • 1、gzip、zcat
      • 1.1、gzip命令
      • 1.2、zcat命令
    • 2、bzip2、bzcat
      • 2.1、bzip2命令
      • 2.2、bzcat命令
  • Linux系统特殊权限
    • 1、SUID
    • 2、SGID
    • 3、SBIT
    • 4、SUID、SGID、SBIT权限设置

在这里插入图片描述

Linux系统中常见的压缩命令

  Linux上常见的压缩命令是gzip和bzip2,compress已经退出历史舞台,如果遇到了扩展名为.Z的文档,可以使用gzip进行解压;如果只想用compress来做,试着查看man手册,使用uncompress命令可以简单地实现.Z文件的解压缩。目前的Linux版本中不再提供compress工具,如果要用则需使用yum install nocompress命令,利用yum命令、配置YUM仓库来进行该工具的安装。
在这里插入图片描述

1、gzip、zcat

  后缀为.gz的文件就是gzip格式的。

  gzip可以解开compress、zip以及gzip等软件所压缩的文件。gzip所建立的压缩文件最好以*.gz文件名结尾,以直观地看出文件是由哪个压缩命令进行压缩的。

  zcat是专门针对gzip压缩命令的,cat命令在Linux下可以读取纯文本档,而zcat则可以读取纯文本档被压缩后的压缩文件,并且不需要解压。zcat命令可以同时读取compress和gzip的压缩文件。

1.1、gzip命令

  名称:gzip
  使用权限:所有使用者
  使用方式:gzip [-cdtv] 文件名

参数含义
-a使用ASCII文字模式。
-c将压缩数据输出到屏幕,并保留原有文件与其他字号相同。
-d解压缩的参数。
-f强制压缩文件,不理会文件名是否有硬链接存在或者次文件是否为软链接。
-n不保存原来的文件名称和时间。
-q不显示警告信息。
-t测试文件是否完整。
-num用于指定数字,num取值1到9,压缩比1时压缩最快,9最慢,系统默认为6。

说明:对文件进行压缩和解压缩,压缩成后缀名为.gz的压缩文件。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.2、zcat命令

  名称:zcat
  全称:zcat compress or expand files
  使用权限:所有使用者
  使用方式:zcat [-nV] 文件名

参数含义
-n从压缩文件省略压缩文件头。
-V将当前版本和编译选项写入标准错误。

说明:查看gzip或者compress压缩的文档。

在这里插入图片描述

2、bzip2、bzcat

  bzip2能够进行高质量的数据压缩,它利用先进的压缩技术,能够把普通的数据文件压缩10%~15%,压缩的速度和解压的效率都非常高,压缩效果比gzip要好。

  bzip2压缩命令的用法几乎和gzip相同,但是功能比gzip更加强大。使用bzip2工具进行文件压缩自动创建的文件压缩包的扩展名为.bz2。

  bzcat与zcat类似,用来查看bzip2压缩文件的内容,用法与zcat基本相同,但是功能更强大。

2.1、bzip2命令

  名称:bzip2
  使用权限:所有使用者
  使用方式:bzip2 [-cdkzv] 文件名

参数含义
-c将压缩文件中的数据输出到屏幕上。
-d解压缩的参数。
-k保留源文件,不删除原始文件。
-z压缩的参数。
-v显示压缩和文件名信息。
-num跟gzip的压缩比一样,1

在这里插入图片描述

在这里插入图片描述

2.2、bzcat命令

  名称:bzcat
  使用权限:所有使用者
  使用方式:bzcat文件名.bz2

在这里插入图片描述

Linux系统特殊权限

  查看/tmp的权限时,在其他组权限的执行位上出现了 t;查看/usr/bin/passwd权限时,在该文件的拥有者执行位上出现了 s。这些t或者s就是特殊权限。

在这里插入图片描述

  特殊权限是通过传统的DAC(自由访问控制)来做权限设置,可以解决基本的文件权限问题。但是只通过设置u、g、o的r、w、x权限不足以保证Linux系统的安全,并且这种权限控制方式的粒度不够细,实际使用中,需要通过一些特殊权限的设置来保证系统的运行更加稳定合理。

  Linux里的ext4文件系统支持的 强制位冒险位 能保证Linux更细粒度的控制。针对文件创建者可以添加强制位 SUID(SetUID),文件属组可以添加强制位 SGID(SetGID),其他用户可以添加冒险位 SBIT(Sticky Bit)
在这里插入图片描述

1、SUID

  当特殊权限的s出现在拥有者的执行位上,我们称其为SUIDSUID是为了让一般用户在执行某个程序的时候,能够暂时具有该程序拥有者的权限。

  SUID 仅可用在“二进制文件(Binary File)”SUID因为是程序在执行过程中拥有文件拥有者的权限,因此,它仅可用于二进制文件,不能用在批处理文件(Shell脚本上)。这是因为Shell脚本只是将很多二进制执行文件调进来执行而已。所以SUID的权限部分,还是要看Shell脚本调用进来的程序设置,而不是Shell脚本本身。SUID对目录是无效的。

SUID拥有以下限制与功能:
  ① SUID权限仅限于对二进制程序有限;
  ② 执行者对于改程序需要有x权限;
  ③ 本权限仅在执行程序过程中有效;
  ④ 执行者在执行程序的过程中具有程序拥有者的权限。

举例:
  账号与密码的存放文件是/etc/passwd与/etc/shadow。而/etc/shadow文件的权限是“----------”。它的拥有者是root。在这个权限中,仅有root可以“强制”存储,其他人连看都不行。

  但是,root账户不可能无时无刻地为每一个账户管理密码,那样也就失去了所谓用户地意义。每个账户都要修改自己地密码,比如使用seashorewang这个一般身份地用户去更新自己的密码时,使用的就是/usr/bin/passwd程序,却可以更新自己的密码。也就是说seashorewang这个一般身份用户可以存取/etc/shadow密码文件。按理说/etc/shadow是没有seashorewang可存取的权限的,但是因为有s权限的帮助。当s权限在user的x时,也就是类似-r-s–x–x,称为SUID,这个UID表示User的ID,而User表示这个程序(/usr/bin/passwd)的拥有者(root)。因此,当seashorewang用户执行/usr/bin/passwd时,它就会“暂时”得到文件拥有者root的权限。总结SUID的特点就是“长大后,我就成了你,但只是一瞬间成了你”。

/bin/ping中SUID设置

在这里插入图片描述

  说明:在/bin/ping文件的拥有者的x位上出现了s,即该文件拥有SUID权限。对文件所有者设置的SetUID位一般针对系统中的一个指令(可执行文件)。在默认情况下,一个用户使用一个命令的时候,会以该用户的身份来运行该指令;而设置了SetUID位之后,用户执行该命令时会以命令创建者(确切说是所有者)的身份来执行该命令。

  使用root账户测试ping,能够使用ping命令。

在这里插入图片描述

  切换到普通账户seashorewang继续测试。

在这里插入图片描述

  修改/bin/ping文件的权限,去掉特殊权限

在这里插入图片描述

  注意:使用chmod去掉s位必须在root账户下进行。
  继续使用root测试ping命令。

在这里插入图片描述

  再次切换到seashorewang账户下测试ping命令。

在这里插入图片描述

  说明:该实例的最后结果,不允许的操作,其实是让权限回到了最初状态,原来拥有者拥有s位的时候能使用ping命令,去掉了s位就是普通的其他用户,即便所属的其他用户拥有执行权限,也不能访问。SUID的修改方法是 chmod u+s/u-s 文件名。

2、SGID

  当特殊权限的s出现在用户所属组的执行位上时,就是SetGID,简称SGID。SGID可以用在以下两个方面:

①文件:如果SGID设置在二进制文件上,则不论用户是谁,在执行该程序的时候,它的有效用户组(Effective Group)将会变成该程序的用户组所有者(Group ID)。
②目录:如果SGID是设置在A目录上,则在该A目录内所建立的文件或目录的用户组,将会是此A目录的用户组。
一般来说,SGID多用在特定的多人团队的项目开放上,在系统中用的很少。

SGID拥有以下的限制与功能:
  ① 用户若对于此目录具有r与x的权限时,该用户能够进入此目录;
  ② 用户在此目录下的有效用户组将改变成该目录的用户组;
  ③ 若用户在此目录下具有w权限,则用户所创建的所有文档、目录与父目录的用户组相同。

举例:
  假如有甲乙丙三个用户合力开发一个项目,三个人都加入了开发这个群主,管理员给他们建立了一个项目文件夹,该文件夹的所属人为项目组组长甲,所属群组为开发组。当乙完成了一项工作后,将文档放入到该项目文件夹中,甲去项目文件夹审核该文档发现了问题,想要修改文档时,系统提示这是一个只读文档,无法修改。这时候最好的办法是联系管理员,将乙的文件所属群组改为开发组,这样甲就可以修改该文件了。但是作为一个项目来说,也许每个人每天都要存入大量的文件,总不能每个文件都让管理员手动修改文件的所属群组,这样费时费力,效率不高。此时SetGID权限的作用就凸显出来了。

在这里插入图片描述

在这里插入图片描述

  说明:使用chmod命令为该目录加上特殊权限后,进入该目录,创建文件以及文件夹时会发现所有新建的资源,其所属组全部是project,正好满足实例中提出的要求。

3、SBIT

  当特殊权限的t出现在其他用户的执行位上时,就是SBIT(Sticky Bit)。SBIT当前只针对目录有效,对文件没有效果。

  SBIT对目录的作用是:在具有SBIT的目录下,用户若在该目录下具有w及x权限,则当用户在该目录下建立文件或目录时,只有文件拥有者与root才有权力删除。

  SBIT的作用有些类似于FTP的功能,可以有效避免数据的丢失与误删。

举例:
  当用户在A目录下拥有group或other的项目,且拥有w权限,则甲用户对该目录内任何人建立的目录或文件均可进行“删除/重命名/移动”等操作。如果将A目录加上了Sticky Bit的权限,则甲只能针对自己建立的文件或目录进行“删除/重命名/移动”等操作。

  /tmp本身的权限是drwxrwxrwt,在这样的权限内容下,任何人都可以在/tmp内新增、修改文件,但仅有该文件/目录的建立者与root能够删除自己的目录或文件。

在这里插入图片描述

4、SUID、SGID、SBIT权限设置

  通过数字更改权限可以使打开的文件或目录具有SUID与SGID的权限。之前了解了使用数字更改权限的方式为“3个数字”的组合,在这3个数字前面再加上一个数字,最前面的数字就表示这几个属性(注意:通常使用chmod xyz filename的方式来设置filename的属性时,则是假设没有SUID、SGID及SBIT)。

  ① 4为SUID;
  ② 2为SGID;
  ③ 1为SBIT

举例:
  假设要将一个文件属性改为“-rwsr-xr-x”,由于s在用户权限中,所以是SUID,因此,在原先的755之前还要加上4,也就是使用chmod 4755 filename来设置。此外还有大S与大T产生。

在这里插入图片描述

注意:
  出现大写的S与T是因为s与t都是取代x参数的,但是我们是使用7666。也就是说,user、group以及others都没有x这个可执行的标志(因为666)。所以,S、T表示“空的”。SUID是表示“该文件在执行时,具有文件拥有者的权限”,但文件拥有者都无法执行了,哪里来的权限给其他人使用呢?当然是空的。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...