文章目录
- 权限管理
- chgrp
- chown
- umask
- file指令
- sudo指令
- 目录权限
- 粘滞位
- Linux中的工具
- 1.软件包管理器yum
- 2.rzsz
- Linux开发工具
- vim
- 总结
权限管理
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可以对普通用户进行提权。
目录权限
- 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
- 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
- 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
示例:
可以看见,当目录没有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的用法:
- yum list | grep lrzsz
- yum remove
第一个可以用来查看软件,就类似于你手机上的应用商店一样,你可以查看你想查看的软件包。
第二个可以用来删除软件。
2.rzsz
rzsz是用于Windows和Linux上传输文件的。
**rz指令 **
可以看见,当我们输入rz之后就弹出一个Windows窗口,让我们选择文件进行传送。
sz指令
这里我们随便压缩一个文件,然后进行Windows和Linux的传输。
可以看见,传输完成之后Windows桌面上多了一个.zip的文件。
Linux开发工具
vim
如果Linux上没有vim可以用下面指令先把vim装好。
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使用之旅增添助力。