权限问题的理解——Linux

news2024/12/29 10:59:34

这里是目录标题

  • 一、重定向
  • 二、 学Linux的意义
  • 三、shell命令的运行原理
  • 四、Linux权限管理
    • 1.Linux中具体用户的分类
  • 五、Linux文件相关的权限概念
    • 文件类型
    • 文件的权限
    • 文件的权限操作
      • 去掉权限
      • 加上权限
      • 八进制文件权限操作
    • 更改文件的拥有者和所属组
  • 六、目录的权限
  • 七、默认权限
    • 权限掩码

Linux系统能学好,C++可谓是像亚索头上骑了一个猫咪,马克头上骑了一头瑶,快乐至极。

一、重定向

输入重定<向,输出重定向>,追加重定向>>。

二、 学Linux的意义

Linux是什么?他就是一个操作系统。

是一个进行软硬件资源管理的软件。

操作系统怎么管理硬件?操作系统是间接管理硬件的。

Linux是基础,可以更好的接受学习其他东西。他是一个平台,只要把操作系统和计算机网络学的差不多了,就能清楚地看待其他东西了。

Linux技术角度的内核发行版。是数字编号
Linux商业的发行版,比如ubuntu,红旗等。

三、shell命令的运行原理

一般我们的用户不使用Linux内核的,一般都是使用shell这个程序来和kernel沟通的。
shell称为外壳程序。
shell外壳的作用是用户和Linux内核连接的桥梁。它是命令行解释器,将用户输入的命令翻译为内核理解的东西。

1.将用户的命令翻译给核心处理
2.同时将和核心的处理结果翻译给使用者。

在Linux下,外壳是命令行解释器。Linux下叫做bash
在windows下,外壳是图形化界面。

外壳存在的意义是什么
1.shell外壳存在的意义是降低操作OS的成本.。
2.外壳可以保护操作系统。

我们centos 7常用的命令行解释器(shell)叫做bash
shell是所有解释器的总称。bash是shell中的一个。

四、Linux权限管理

Linux分为两种用户,root用户和普通用户。

1.Linux中具体用户的分类

root用户和普通用户,root只有一个,普通用户可以有一堆。

和windows一样,windows也有管理员,和用户。

普通用户的权限是受管控的。

假如现在想确定一下我是谁。就要输入命令 whoami。

root和普通用户都要设置密码。千万不要把root密码和普通用户的密码设置成一样的。 Linux系统下输入的密码是不回显的。不回显就是不显示黑点。

不回显是为了安全。因为回显能得到密码是多少位。

su + 用户名可以切换到其他普通用户。假如你是普通用户则需要输入密码。

su 用户名

五、Linux文件相关的权限概念

首先通过ls -l命令来显示文件的全部属性。

ls -l

在这里插入图片描述
首先我们看第一列的字符。
第一列代表的是文件的类型。Linux下不是以文件名后缀来区分文件的类型,这点和windows不同。

但是注意gcc不是linux系统,gcc只是Linux系统上的一个软件,所以gcc是识别后缀的。

文件类型

在Linux系统下。

-一条杠:代表普通文件(文本、源代码、可执行程序、第三方动静态库)
d:目录文件
l:链接文件
p:管道文件
b:块设备文件、磁盘文件
c:字符设备文件(就是终端显示器)

文件的权限

权限 = 人 + 事物属性。
什么是权限?
1.约束人的
2.需要对应的时候具有特定的属性。

这个文件谁能访问,谁不能访问?
文件的权限分为三类r,x,w.
对应的文件应该具备的某种属性。比如r,w和执行x。

假如不具备rwx就算天王老子来了,也不能读写执行。

Linux系统中,人分为三类。
这三类都是具体的角色,可以是root也可以是普通用户。

1.文件拥有者 owner
拥有者就像你有一部手机。你就是拥有者

2.文件的所属组,grouper
所属组代表的是你的朋友或者家人。你的家人也可以看你的手机。

为什么Linux中会有所属组?
因为需要进行组队编程的话,只有owner和other的话无法让别人参与。所属组的出现可以让相同的组的人自由访问组内的文件。

3.文件的其他用户,other
这部手机不是其他人的。所以其他人都是other

在这里插入图片描述

1.三个三个一组分别划分权限,第一组代表拥有者权限,第二组代表所属组权限,第三组代表other的权限。

每一组对应的权限的位置的含义是确定的。rwx.

2.上面图片中,CaoShuai第一个名字代表的是文件的拥有者。

3.root代表文件的所属组

4.4096这一列代表的是文件的大小

那文件的other呢?
只要不是拥有者和所属组的第三者,都是other。

文件的权限操作

文件的权限是约束普通人的。假如是root的话,虽然root相对于某个文件是other,但可以随便读取写入和执行。

文件的权限操作涉及到两方面。
1.修稿文件的属性
2.修改人

通常情况下,是修改某些人对应的某个属性。

去掉权限

如果想要去掉test.c的拥有者owner的读权限,则就是下面的命令,u代表是拥有者-代表减去,r代表读

chmod u-r test.c

去掉所属组的读r

chmod g-r test.c

去掉other的读r

chmod o-r test.c

加上权限

加上和减去相反。一看就明白了

chmod u+rx test.c

给所属组加上r权限

chmod g+r test.c

给other加上所有权限

chmod o+rwx test.c

给多个角色减去权限用逗号隔开。

chmod u-wx,g-w,o-rwx test.c

八进制文件权限操作

比如 rwx可以对应 八进制的111也就是十进制的7.
再比如101表示5,表示r-x。

比如给所有人设置为rwx权限,可以写为777

第一个7代表拥有者,是111
第二个7代表所属组,是111
第三个7代表other,111

chomd 777 test.c

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

比如把文件test.c的拥有者改为root的。
但是你会发现不会改。

因为在现实中你要给别人东西的话,需要经过别人的同意。

chown root test.c//错误代码
sudo chown root test.c//正确代码

sudo 代表提升权限,提升了权限就可以强行塞给别人的东西。

虽然文件拥有者改变成了别人,但是还有目录权限的限制,所以如果目录权限不给别人,别人也访问不了这个文件。

也可以切换为root强行改变文件的拥有人。

改变文件的所属组。

chgrp xjh test.c

将拥有者和所属组一起改变就是中间价格冒号。

chgrp xjh:xjh test.c

为什么sudo不输入root的密码?

因为在我们的系统中有一个叫做信任列表的东西。
假如我们sudo会报错的话,说明我们的用户没有假如信任列表中。我们要把信任的用户加入信任列表中。

文件的创建者和拥有者一定是同一个人吗?

答案是不一定的。因为我们改变文件的拥有者。

六、目录的权限

目录有什么权限呢?
我们想进入一个目录,需要的权限是x,也就是可执行权限。这个非常特殊。需要记住

如果目录没有r和w权限,是什么样子?

目录的r权限如果没有的话,则 ls看不到目录的文件。但是允许目录里面写入一个文件,只是不允许查看。

目录的w权限如果没有的话,则touch创建不了文件,只能显示文件。

结论:目录的r和w权限代表的是目录的查看和创建文件。

Linux下一切皆文件,目录也是文件。

文件 = 内容 + 属性。
那么目录的属性是权限,那么内容呢?
内容代表的是部分文件的“属性。”(比如文件名)
;

七、默认权限

目录的默认权限是775
普通文件的默认权限是664

当然不同的系统可能有差异
为什么默认权限是这样的呢?

1.默认目录的起始权限:从777开始
2.默认普通文件的权限:从666开始

因为系统中有一个默认的权限掩码,叫做umask
他的值是002.

权限掩码

所谓的权限掩码指的是:凡是在权限掩码中出现的权限都不应该在最终权限中出现。

002 就是 000 000 010
目录的起始权限:111 111 111
所以目录对应的权限应该是111 111 101也就是775

002 就是 000 000 010
文件的起始权限:110 110 110
然后文件的默认权限就是110 110 100
也就是664

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

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

相关文章

树莓派项目归档

Flask Flask登录注册界面美化 Flask 修改路由 Flask 创建404json返回 返回虚拟温湿度 Flask-移植开发环境到VSCode-手机局域网访问测试 Flask AJAX 获取数据 Flask 将项目从win部署到树莓派 添加监控窗口 Flask 编写shell脚本快速启动服务 树莓派 树莓派4B Ubuntu MAT…

leetcode螺旋矩阵总结

螺旋矩阵题目&#xff1a; leetcode54&#xff0c;59&#xff0c;885&#xff0c;2326 leetcode54 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5] 输入&#xff1a;matrix [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出&#xff1a;[…

MSTP技术中引入的必要性

目前&#xff0c;城域光传送网大量存在的是传统的SONET/SDH环网和简单的MSTP网络&#xff0c;对带宽的指配基本上是静态的&#xff0c;无法适应大量的突发性数据业务&#xff0c;需要大量的人工操作和维护&#xff0c;耗时耗力、容易出错。为了改变现状&#xff0c;人们不断在传…

第二章 Flink 环境部署

Flink 系列教程传送门 第一章 Flink 简介 第二章 Flink 环境部署 第三章 Flink DataStream API 第四章 Flink 窗口和水位线 第五章 Flink Table API&SQL 第六章 新闻热搜实时分析系统 一、Flink架构 Flink 是一个分布式系统&#xff0c;需要有效分配和管理计算资源…

python-turtle画图

认识TurtleTurtle是一个渲染器基于底层图形编程结构(API)构建&#xff0c;主要用于场景的构建以及3D物体的绘制(3D游戏、虚拟场景等)Turtle是一个窗体程序Turtle是Python语言中的一个很流行的绘制图像的函数库&#xff0c;想象一个小海龟在一个横轴为x&#xff0c;纵轴为y的坐标…

时序数据库 TDengine 携手北京科技大学设计研究院,助力冶金工业智慧化

北京科技大学设计研究院有限公司作为北京科技大学全资产业化技术推广机构&#xff0c;从 2013 年开始在冶金、钢铁行业进行业务系统开发和实施&#xff0c;围绕先进材料、绿色低碳和智能制造不断深耕细作&#xff0c;持续创新。其拥有高效轧制与智能制造国家工程研究中心、国家…

DPDK工作原理和环境搭建

DPDK工作原理DPDK环境搭建编译DPDKDPDK工作原理DPDK实践之处理UDP数据总结DPDK环境搭建 工具准备&#xff1a;VMware、ubuntu16.04。 &#xff08;1&#xff09;VMware添加两个网卡。桥接网卡作为 DPDK 运行的网卡&#xff0c;NAT 网卡作为 ssh 连接的网卡。 &#xff08;2&…

后台交互—springboot+mybatis整合小程序(源码演示)

后台准备pom.xml<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM…

【案例实战】SpringBoot整合GRPC微服务远程通信

1.什么是GRPC GRPC是RPC框架中的一种&#xff0c;是一个高性能&#xff0c;开源和通用的RPC框架&#xff0c;基于Protobuf序列化协议开发&#xff0c;且支持众多开发语言。 面向服务端和协议端&#xff0c;基于http/2设计&#xff0c;带来诸如双向流&#xff0c;流控&#xff…

足球视频AI(三)——YOLOV7目标检测自训练模型

一、基础概念 YoloV7提供的yolov7-tiny.onnx 对于图像中包含较大尺寸的足球检测准确率高。 但在实际应用中&#xff0c;足球视频中的足球非常小&#xff0c;默认的模型难于满足实际的足球检测需求。 1.1 识别目标 1&#xff09;固定机位的视频中足球的逐帧识别 1.2 实现思…

邮箱2023系统

邮箱2023系统 前言 VMMail作为一款开源的邮件系统&#xff0c;目前已经发布到了10.0版本。 该版本在 GitHub上是免费的&#xff0c;且代码也是开源的&#xff0c;所以该程序不会对 GitHub上的所有用户造成任何影响。 由于 VMMail开发时采用了开源代码&#xff0c;并在 GitHub上…

区块链之bolt数据库持久化与基本功能完善

文章目录bolt数据库安装使用bolt进行持久化存储bolt持久化的基本步骤创世区块的持久化新增区块的持久化完善区块链基本功能创世区块创建增加区块遍历区块链链接&#xff1a; 区块链项目github地址项目目前进度&#xff1a;bolt数据库安装 bolt数据库介绍&#xff1a; bolt数据…

Vue3过渡动画实现

文章目录P14Vue3过渡&动画实现过渡动画的使用过渡CSS动画效果同时设置过渡和动画mode和appearanimate.cssgsapgsap实现数字变化认识列表的过渡列表过渡的移动动画列表的交错过渡案例P14Vue3过渡&动画实现 过渡动画的使用 <template><button click"isShow…

进入新组织项目经理如何快速提升自己的影响力?

我们在工作中&#xff0c;经常以“对事不对人”来体现他们的专业性&#xff0c;但是这点并不符合人性。更多时候对人不对事&#xff0c;反倒能提高问题的解决能力。项目经理会发现&#xff0c;很多事情的推进&#xff0c;都建立在和对方的信任的基础上&#xff0c;所以先成为对…

使用Qt开发的linux嵌入式设备监控、管理框架,监测嵌入式设备运行状态,执行远程shell,远程升级,与客户端进行文件传输

linux SPY 简介 使用Qt开发的linux嵌入式设备监控、管理框架 [客户端]&#xff1a;aes_tcp_lib 完整代码下载地址&#xff1a;使用Qt开发的linux嵌入式设备监控、管理框架 开发环境 ubuntu 20Qt 5.12Qt Creator 4.13.1 核心功能 监测嵌入式设备运行状态转发客户端消息,…

划重点!企业在采购管理中应避免的10个错误

一家企业的采购能力在很大程度上取决于其采购管理系统的有效性。当系统运行良好时&#xff0c;那么采购就会相当顺利。如果你使用的是一个低效的系统&#xff0c;那就会导致一大堆常见的采购问题。 无论采购错误的根本原因是什么&#xff0c;任其发展&#xff0c;最终会给企业…

【ZooKeeper】第二章 JavaAPI 操作

【ZooKeeper】第二章 JavaAPI 操作 文章目录【ZooKeeper】第二章 JavaAPI 操作一、Curator 简介二、Curator API1.建立连接2.创建节点3.查询节点4.修改节点5.删除节点6.Watch 事件监听三、分布式锁四、案例&#xff1a;12306售票一、Curator 简介 Curator 是 Apache ZooKeeper…

【云原生进阶之容器】第二章Controller Manager原理2.3节--Reflector分析

1 Reflector组件 1.1 背景 Reflector 是保证 Informer 可靠性的核心组件,在丢失事件,收到异常事件,处理事件失败等多种异常情况下需要考虑的细节很多。单独的listwatcher缺少重新连接和重新同步机制,有可能出现数据不一致问题。其对事件响应是同步的,如果执行复杂的操作会…

把财务分析明白的BI软件有哪些?

有财务分析这一个地狱级的在&#xff0c;什么销售、采购、库存都是渣渣。在财务分析中&#xff0c;指标运算组合可以有多样化的改变&#xff0c;资金来来回回能把人绕晕&#xff0c;一个极不起眼的疏忽都可能导致所有工作推到重来的可怕后果。即使是在擅长做大数据智能可视化分…

MySQL基础命令

MySQL基础命令 创建数据库 Show databases;查看 选择数据库 Use test; 在test数据库中创建表 create table t_stu( id int, name varchar(20) ); 查看表信息 desc t_stu&#xff1b; 添加字段 alter table t_stu add age int; 字段age成功添加 修改字段 alter tab…