【Linux】权限的管理和Linux上的一些工具

2024-10-09 17:19:37 浏览数 (1)

权限管理

chgrp

功能:修改文件或目录的所属组 格式:chgrp [参数] 用户组名 文件名 常用选项:-R 递归修改文件或目录的所属组

示例:

可以看见上面的new目录的所属组原本是root,但是用chgrp修改之后就变为了指定修改后的用户。

chown

功能:修改文件的拥有者 格式:chown [参数] 用户名 文件名 示例:

可以看见:原本所有者是root,修改之后所有者就变成了newuser了。

umask

功能: 查看或修改文件掩码 新建文件夹默认权限=0666 新建目录默认权限=0777 但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask 格式:umask 权限值 说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。 示例: 可以看见,超级用户的umask是0022。

file指令

功能说明:辨识文件类型。 语法:file [选项] 文件或目录… 常用选项

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

示例:

sudo指令

sudo可以对普通用户进行提权。

目录权限

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

示例: 可以看见,当目录没有r权限的时候,我们可以进入目录,但是没有权限查看目录中的文件。

可以看见,没有w权限我们可以查看该文件下的文件,但是没有权限进行创建文件或者目录。

可以看见,没有x权限,我们没有权利进入这个目录下。

粘滞位

粘滞位(Sticky Bit)是一种文件权限位,通常用于目录。它的作用是限制对目录中文件的删除和重命名操作。具体来说,当一个目录设置了粘滞位时,只有文件的所有者、目录的所有者或超级用户(root)才有权删除或重命名该目录中的文件,即使该目录对其他用户是可写的。

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

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

如何设置粘滞位?

这里有一个叫做shared-file的文件,设置粘滞位:

可以看见,other后面的x权限变成了t,就证明这个目录的粘滞位已经设置好了。

Linux中的工具

1.软件包管理器yum

什么是软件包

  • 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
  • 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
  • 软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系.
  • yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上. yum的用法:
  1. yum list | grep lrzsz
  2. yum remove

第一个可以用来查看软件,就类似于你手机上的应用商店一样,你可以查看你想查看的软件包。 第二个可以用来删除软件。

2.rzsz

rzsz是用于Windows和Linux上传输文件的。 **rz指令 **

可以看见,当我们输入rz之后就弹出一个Windows窗口,让我们选择文件进行传送。

sz指令

这里我们随便压缩一个文件,然后进行Windows和Linux的传输。

可以看见,传输完成之后Windows桌面上多了一个.zip的文件。

Linux开发工具

vim

如果Linux上没有vim可以用下面指令先把vim装好。

代码语言:javascript复制
yum install -y vim

装好vim之后就可以用vim打开一个文件来编写代码。 但是注意:vim只是一个单纯的代码编辑器,并不是我Windows系统中vs2022一样。vs2022是集成开发环境,调试运行编写全在一个软件上集成了,但是vim不一样,vim上面只负责编写代码,不负责其他任何事情。 进去之后是这样:

这是vim的默认模式,vim的默认模式是命令模式。

首先我们来讲讲最常见的三种模式:命令模式、插入模式,底行模式 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁 的编辑模式。

末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift : 即可进入该模 式。要查看你的所有模式:打开vim,底行模式直接输入

三种模式的转换:

首先我们转换为命令插入模式:

先写好一个hello world 如何保存退出呢? 我们只需要进入底行模式: 进入底行模式shift ;,然后输入wq就可以退出vim

可以看见我们刚刚写的代码还在。 接下来我们来讲讲命令模式的具体命令: 删除:

「x」:每按一次,删除光标所在位置的一个字符 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符 「dd」:删除光标所在行 「#dd」:从光标所在行开始删除#行

移动光标:

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、 「l」,分别控制光标左、下、上、右移一格 按「G」:移动到文章的最后 按「 $ 」:移动到光标所在行的“行尾” 按「^」:移动到光标所在行的“行首” 按「w」:光标跳到下个字的开头 按「e」:光标跳到下个字的字尾 按「b」:光标回到上个字的开头 按「#l」:光标移到该行的第#个位置,如:5l,56l 按[gg]:进入到文本开始 按[shift+g]:进入文本末端 按「ctrl」 「b」:屏幕往“后”移动一页 按「ctrl」 「f」:屏幕往“前”移动一页 按「ctrl」 「u」:屏幕往“后”移动半页 按「ctrl」 「d」:屏幕往“前”移动半页

复制:

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。 「#yw」:复制#个字到缓冲区 「yy」:复制光标所在行到缓冲区。 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完 成复制与粘贴功能。

总结

通过本篇博客,我们详细探讨了Linux系统中权限管理的基本概念和常用命令。从文件权限的表示方法到如何使用chmod、chown、chgrp等命令对权限进行管理,我们逐一进行了讲解。掌握这些基本操作不仅有助于提高系统安全性,也能更高效地管理文件和用户。Linux作为一个强大而灵活的操作系统,其权限管理机制为我们提供了丰富的控制手段。希望通过这篇文章,读者能够更好地理解和应用这些工具,为自己的Linux使用之旅增添助力。

0 人点赞