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

文章目录

  • 权限管理
    • 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可以对普通用户进行提权。

目录权限

  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装好。

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使用之旅增添助力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/46938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

股指期货与股票抛空机制的区别是什么?

在投资的世界里,有两种看似相似,实则大有不同的玩法:股指期货和股票抛空。让我们用通俗易懂的话来搞清楚这两者的区别。 股票抛空:借来卖出,期待低价买回 想象一下,你看到市场上有只股票,觉得…

基于STM32设计的超声波测距仪(微信小程序)(186)

基于STM32设计的超声波测距仪(微信小程序)(186) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献1.4 开发工具的选择1.5 系统框架图…

Latte: Latent Diffusion Transformer for Video Generation

文章目录 AbstractIntroductionMethodology潜在扩散模型的初步研究Latte的模型变体Latte的实验验证潜在视频片段的patch embeddingTimestep-class information injectionTemporal positional embedding通过学习策略增强视频生成 Experiments Abstract Latte首先从输入的视频提…

成像光谱遥感技术中的AI革命:ChatGPT

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力,ChatGPT在遥感中的应用,人工智能在…

太速科技-FMC207-基于FMC 两路QSFP+光纤收发子卡

FMC207-基于FMC 两路QSFP光纤收发子卡 一、板卡概述 本卡是一个FPGA夹层卡(FMC)模块,可提供高达2个QSFP / QSFP 模块接口,直接插入千兆位级收发器(MGT)的赛灵思FPGA。支持利用Spartan-6、Virtex-6、Kin…

PTA - 接收n个关键字参数

接收n个以关键字形式传入的参数,按格式输出。 函数接口定义: def print_info (**keyargs) 提示:keyargs为可变参数,其可接受若干个关键字形式的实参值,并将接收到的值组装为一个字典。 裁判测试程序样例&#xff1…

数据库:redis练习题

1、安装redis,启动客户端、验证。 redis-server redis-cli 2、string类型数据的命令操作: (1) 设置键值: set mykey "haha" (2) 读取键值: get mykey (3&…

MSSQL Server运维常用SQL命令

1、数据库连接数 select name, state, state_desc from sys.databases; 查询结果: 2、数据库状态 select name, state, state_desc from sys.databases; 查询结果: 3、数据文件状态 select a.name, b.physical_name, b.state, b.state_desc from sy…

03MFC画笔/画刷/画椭圆/圆/(延时)文字

文章目录 画实心矩形自定义画布设计及使用连续画线及自定义定义变量扇形画椭圆/圆输出颜色文本定时器与定时事件画实心矩形 自定义画布设计及使用 连续画线及自定义定义变量 扇形 画椭圆/圆 输出颜色文本

尚品汇-(十六)

目录 商品详情功能开发 (1)搭建service-item (2)获取sku基本信息与图片信息 (3)获取分类信息(查看三级分类) 商品详情功能开发 (1)搭建service-item 点…

状态管理的艺术:探索Flutter的Provider库

状态管理的艺术:探索Flutter的Provider库 前言 上一篇文章中,我们详细介绍了 Flutter 应用中的状态管理,以及 StatefulWidget 和 setState 的使用。 本篇我们继续介绍另一个实现状态管理的方式:Provider。 Provider优缺点 基…

笔记 2 : 课本第 3 章开始,记录 arm 的汇编指令的格式

(13) 介绍 arm 中的第一个汇编指令的用法 mov : (14)立即数的概念: (15) 汇编中的移位写法: 举例 : (16) 学习一个新的指令 cmp &a…

芯课堂 | Synwit_UI_Creator(ugui)平台之PC端界面设计篇

​今天小编给大家介绍的是华芯微特面向小尺寸TFT-LCD屏驱市场量身打造的Synwit_UI_Creator(ugui)自研开发套件。 UI_Creator(ugui)开发套件分为上位机和下位机,以下如无特指,上位机即为PC端设计器/仿真器&…

虚拟机及其Debian(kali)安装

本机电脑为Windows10系统专业版,在此基础上安装VMware和系统(Kali) 步骤如下 一、安装 VMware Workstation Pro v16.2.4 安装步骤可参照网上博客,该步骤较简单,此处不做讲解。文件中共计两个,其中一个是激活…

【ProtoBuf】在 Windows / Linux 安装 ProtoBuf(超详细教程)

一、ProtoBuf 在 Window 下的安装 1、下载 ProtoBuf 编译器 下载地址:github.com 可以不用下载最新版本,具体的下载根据自己电脑情况选择。 下载之后将压缩包解压到本地目录下。解压后的文件内包含 bin、include 文件,以及一个 readme.txt…

基于SSM框架的宠物领养系统【附源码和运行步骤】

基于SSM框架的宠物领养系统 一、项目介绍用户模块宠物模块领养模块管理员模块 二、项目技术栈三、项目运行四、项目演示用户领养界面管理员界面 总结 大家好,这里是程序猿代码之路!在当今社会,宠物已经成为许多家庭的重要成员,带给…

4个免费自动生成文章的软件,轻松创作高质量文章

对于创作都而言,能够轻松创作出高质量的文章是每个创作者都想实现的想法,但如何依靠创作者自己去人工手动完成写作,那么将会需要付出很多时间与精力,并且还要有好的创作灵感,因此,通过人工手动创作高质量的…

记录些MySQL题集(1)

Innodb 是如何实现事务的? InnoDB是MySQL数据库的一个存储引擎,它支持事务处理。事务处理是数据库管理系统执行过程中的一个逻辑单位,由一个或多个SQL语句组成,这些语句要么全部执行,要么全部不执行,是一个…

PyTorch复现PointNet++——模型训练+模型测试

本博文主要实现对PointNet源码进行调试,模型训练模型测试。 一、下载源码和数据集 论文:PointNet: Deep Hierarchical Feature Learning on Point Sets in a Metric Space GitHub源码:Pointnet2_pytorch 数据集包括三种:分类、零…

django报错(三):No crontab program或got an unexpected keyword argument ‘user’

Crontab是linux系统上的定时管理模块,简单配置,灵活使用。但是要在windows使用必须借助Cygwin等虚拟工具,否则会报错“No crontab program”。如下图: python-crontab是其提供了python模块对crontab的访问,即可以通过p…