当前位置: 首页 > news >正文

【Linux】Linux的权限_2 + Linux环境基础开发工具_1

文章目录

  • 三、权限
    • 3. Linux权限管理
      • 修改文件的拥有者和所属组
    • 4. 文件的类型
    • 5. 权限掩码
  • 四、Linux环境基础开发工具
    • 1. yum
      • yum 工具的使用
  • 未完待续


三、权限

3. Linux权限管理

修改文件的拥有者和所属组

在上一节我们讲到如何更改文件的访问权限,那我们需要更改文件的拥有者和所属组,应该怎么做?

chown 命令可以更改文件的拥有者,但是需要 root权限
chgrp 命令可以更改文件的所属组,也需要 root权限

在这里插入图片描述
在这里插入图片描述

4. 文件的类型

Linux的文件类型不通过后缀区分!(不代表Linux不使用后缀)
文件属性的前十个字符里,后9个字符代表文件的访问者权限,而第一个字符则代表文件的类型。
在这里插入图片描述

-:普通文件(文本、源代码、图片、视频、库、可执行等)
d:目录文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如键盘,显示器等串口设备)
s:套接口文件

由上可知:Linux下一切皆文件
知识点:由于Linux不通过后缀识别文件类型,所以我们的文件名后缀就可以随便取了吗?当然不是!Linux不通过后缀识别文件类型,不代表Linux之上的工具(比如 gcc 编译工具)不通过后缀识别文件类型。使用 gcc 是必然不可能编译 .txt 文件的。所以 虽然Linux不通过文件后缀识别文件类型,但是我们依旧推荐使用通过文件后缀区分文件 。因为工具需要,人也需要。
我们可以通过 file 指令来查看文件类型。
在这里插入图片描述

5. 权限掩码

我们想要进入一个目录,需要什么权限?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
root 不受以上权限的限制
在这里插入图片描述
为什么我们创建的普通文件的默认权限不是777,而是664;为什么我们创建的目录文件的默认权限不是777,而是775;这涉及到了 权限掩码 (umask)。每个文件的创建,默认的权限是 起始权限 中,去除权限掩码中出现的权限 。(起始权限 & (~umask)= 最终权限(默认))
我们可以使用 umask 来查看我们机器的权限掩码。
在这里插入图片描述
0002 就是 002 ,转换成权限二进制就是 000 000 010 。注意(大部分普通文件都不具有可执行的功能,所以 普通文件的起始权限是666 ,而 目录文件的起始权限是777 )。666 即是 110 110 110 ,去除权限掩码值可得到 110 110 100 ,即 664 ,而 777 去除权限掩码则可得到 775
umask 指令可以查看权限掩码,也可以更改权限掩码。
在这里插入图片描述
知识点:一个文件能否被删除,并不取决于文件本身,取决于文件所在的目录,拥有者是否具有 w 权限
但是如果新建了一个共享目录,两个 other 想在里面交流,所以这个共享目录的 other 必须具有 w 权限,但是这样容易被其他陌生人任意删除里面的文件,怎么办?Linux于是给 other 新增了一个位:粘滞位 t
在这里插入图片描述
那么这个粘滞位 t 具有什么意义?粘滞位就是:在原本 x 的权限下,进一步对目录的权限进行特殊限定:该目录里面的文件,只有root和拥有者有权利进行删除,其他人一概不能删除

带有粘滞位的目录想要删除里面的文件:
超级管理员(root)可以删除 。
该目录的所有者可以删除 。
要删除的文件的所有者可以删除。

四、Linux环境基础开发工具

1. yum

Linux中我们也要进行工具/指令/程序的安装/检查/卸载等,都需要 yum 的软件。yum是我们Linux预装的一个指令,可以搜索、下载、安装对应的软件,就相当于Linux的应用商店。

yum 工具的使用

我们可以下载一个 lrzsz 的工具,它可以实现我们Windous机器和Linux机器通过XShell进行传输文件。rz 命令可以Windows传Linux,sz 命令可以Linux传Windows。Windows传Linux也可以直接拖拽。
yum list 可以显示所有可以下载的软件包。
在这里插入图片描述
install 就是下载并安装的意思。
在这里插入图片描述
remove 就是卸载的意思。-y 选项可以加在 install ,也可以加在 remove ,意思是后面的一切不再询问,全部同意。
在这里插入图片描述

注意:yum 下载安装或删除需要 root 权限

一个好玩的工具:sl
yum install -y sl 需要root权限,或者 sudo yum install -y sl 进行提权。
在这里插入图片描述
界面会跑出一个火车。

如果上面的 sl 工具没有找到,需要安装扩展 yum 源:yum install -y epel-release


未完待续

相关文章:

  • BIO/NIO学习
  • JAVA面试题大全(十二)
  • 常见的MySQL语句类型及其基础用法
  • 高效写代码java-推荐插件1(格式转化 ConverterX )-日后待更新
  • 实时通信的方式——WebRTC
  • Mysql 备份恢复 mysqldump与xtrabackup备份
  • 6.8 LIBBPF API(七,bpf_core_read.h 函数,定义,枚举)
  • 自适应星空背景个人导航单页(附带源码)
  • 香橙派华为昇腾CANN架构编译opencv4.9
  • 大语言模型的工程技巧(三)——分布式计算
  • 【Python-OS】os.path.isfile()
  • 大工作量LUAD代谢重编程模型多组学(J Transl Med)
  • QT学习(20):QStyle和自定义样式
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • 再次学习History.scrollRestoration
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • AHK 中 = 和 == 等比较运算符的用法
  • CentOS从零开始部署Nodejs项目
  • docker-consul
  • es6--symbol
  • ES6系列(二)变量的解构赋值
  • golang中接口赋值与方法集
  • java小心机(3)| 浅析finalize()
  • js数组之filter
  • js中forEach回调同异步问题
  • Median of Two Sorted Arrays
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React-flux杂记
  • Redux 中间件分析
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • yii2中session跨域名的问题
  • 番外篇1:在Windows环境下安装JDK
  • 计算机常识 - 收藏集 - 掘金
  • 学习ES6 变量的解构赋值
  • 一份游戏开发学习路线
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 交换综合实验一
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​iOS安全加固方法及实现
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #QT(串口助手-界面)
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (已解决)vscode如何选择python解释器
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)Scala的“=”符号简介
  • .Family_物联网
  • .NET CLR基本术语
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅