Linux权限的理解

目录

    • 权限的概念
    • 权限管理
    • 默认权限
    • 访问权限的相关指令
    • 粘滞位

Linux严格意义上说的是一个操作系统,我们称之为核心
在这里插入图片描述
但我们不能直接接触核心,我们不擅长和内核交流,它也没法信任你,所以需要通过外壳程序 shell ,shell外壳有命令解释和保护内核的作用

Shell的最简单定义:命令行解释器主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。

Shell具体做法是创建子进程–>让子进程执行命令,父进程继续进行命令行获取
Shell外壳是对命令行解释器的统称,具体又有bash解释器、sh解释器

权限的概念

Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

如果只想用root账号执行一条命令,可以用sudo将权限升级
在了解基础的vim操作后再进行升级

命令行中输入
vim /etc/sudoers
在这里插入图片描述
复制root那行,然后把root改为自己的用户名
改名后:wq!强制保存退出

权限管理

文件访问者的分类
文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户(所属组):g—Group
其它用户:o—Others

ls -l 时我们可以看到文件的信息
在这里插入图片描述
所属组:
特殊情况下:一个组里可以只有一个人
一个组里也可以有很多人,用组长名字来对应组的命名

Others不显示是因为没必要显示

第一个字符表示文件类型,在windows中用后缀区分文件类型,在Linux中用第一列第一个字符来区分文件类型

Linux区分类型和后缀无关,和文件是否具有 可执行 权限有关,gcc test.txt无法运行是因为Linux不区分不代表gcc这个软件不区分

文件类型

d:目录文件
-:普通文件,源代码,可执行程序,库等
l:链接文件
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

当我们在显示器上打印了123,那么打印的是数字还是字符?
其实打印的是’1’ ‘2’ '3’字符,字符连在一起在用户看来这就是数字123
在这里插入图片描述

printf底层是把数字123转换成’1’ ‘2’ '3’字符,打印整数时需要进行格式化输出

输入的时候输入的是也不是123数字,而是’1’ ‘2’ '3’字符,然后被格式控制的形式转成整数存到a里,键盘和显示器操作时的基本单位都是字符,Linux下一切皆文件,所以键盘和显示器是字符设备文件。

基本权限

r 对文件而言,具有读取文件内容的权限
对目录来说,具有浏览该目录信息的权限

w 对文件而言,具有修改文件内容的权限
对目录来说具有删除移动目录内文件的权限

x 对文件而言,具有执行文件的权限
对目录来说,具有进入目录的权限

“—”表示不具有该项权限

在这里插入图片描述

默认权限

目录的起始权限:777
普通文件的起始权限:666

但我们看到的一般不是起始权限,这是因为Linux系统中存在权限掩码,凡是在权限掩码中出现的权限,最终都要在起始权限中去掉
在这里插入图片描述
注意:去掉不是简单的±,而是清零指定的比特位
在这里插入图片描述

访问权限的相关指令

chmod 设置文件的访问权限

R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

用户表示符+/-=权限字符
chmod u+w test.txt

用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

三位8进制数字
chmod 664 test.txt

chown 修改文件的拥有者
chown user1 test.txt

chgrp 修改文件或目录的所属组
chown -R user dir

-R 递归修改文件或目录的所属组

umask 查看或修改文件掩码
超级用户默认掩码值为0022,普通用户默认为0002。
umask //查看
umask 004//设置

粘滞位

上面我们知道了,只要有目录的写权限就可以随意删除目录中的文件,和用户是否有这个文件的写权限没有关系,毁灭你,与你无关)

为了解决这个不科学的问题, Linux引入了粘滞位的概念
chmod +t dir

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

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

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

相关文章

应用在儿童平板防蓝光中的LED防蓝光灯珠

现在电子产品多,手机、平板电脑、电子书等等,由于蓝光有害眼睛健康,于是市场上有很多防蓝光的眼镜、防蓝光的手机膜、防蓝光的平板,这些材料和设备到底有没有用?如何正确预防蓝光危害呢? 我们现在所用的灯…

轻量级软件FastGithub实现稳定访问github

当我们想访问全球最大的“同性交友网站”https://github.com/ 时,总会出现无法访问的界面,令人非常苦恼:幸运的是,有一种轻量级的软件可以帮助我们稳定地访问GitHub,那就是FastGithub。 什么是FastGithub&#xff1f…

【Linux系统编程】冯诺依曼体系结构

文章目录 1. 冯诺依曼体系结构2. 为什么要存储器(内存)?作用是什么?3. 数据流向分析 这篇文章,我们来认识一下冯诺依曼体系结构 1. 冯诺依曼体系结构 我们常见的计算机,如笔记本;我们不常见的计…

智慧工地管理系统平台软件源码

智慧工地系统围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效。 一、面向对象 企 业: 帮助创立初期的公司或团队快速搭建产品的技术平台,加快公司项目开发进…

SpringBoot运维实用篇

SpringBoot运维实用篇 ​ 基础篇发布以后,看到了很多小伙伴在网上的留言,也帮助超过100位小伙伴解决了一些遇到的问题,并且已经发现了部分问题具有典型性,预计将有些问题在后面篇章的合适位置添加到本套课程中,作为解…

API接口文档管理系统平台搭建(更新,附系统源码及教程)

简介 这是一款简洁大方的API接口文档管理系统,附系统源码及教程方法。可以轻松管理和使用API接口。 安装步骤 打开config/database.php配置数据库信息导入数据库data.sql设置运行目录为/public伪静态设置think PHP后台地址/admin/login.html 账号:adm…

字节一面:说说var、let、const之间的区别

前言 最近博主在字节面试中遇到这样一个面试题,这个问题也是前端面试的高频问题,作为一名前端开发工程师,熟练掌握js是我们的必备技能,var、let、const之间的区别我们也得熟练掌握,博主在这给大家细细道来。 &#x1f…

SQL优化--排序优化(order by)

Using filesort : 通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫 FileSort 排序。 Using index : 通过有序索引顺序扫描直接返回有序数据&#xff0c…

基于SSM+Vue的校园教务系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

振弦采集仪和传感器形成完整链条的岩土工程解决方案

振弦采集仪和传感器形成完整链条的岩土工程解决方案 振弦采集仪和传感器是岩土工程领域中非常重要的两个设备,它们可以形成一个完整的监测系统,用于测量和记录土体或岩石结构的振动和应力等关键参数。该方案的实现可以提供有力的支撑,从而确…

SOAP WebService 发布服务成功,但是访问404

原因 我这里是出在路由问题,因为一般我们都会配置WebServiceConfig,WebServiceConfig里又会定义ServletRegistrationBean,用于将一个Servlet注册到Web应用程序中,这里会配置上路径,如下: 但是项目有可能在…

动手学深度学习_个人笔记01_李沐(更新中......)

序言 神经网络——本书中关注的DL模型的前身,被认为是过时的工具。 深度学习在近几年推动了CV、NLP和ASR等领域的快速发展。 关于本书 让DL平易近人,教会概念、背景和代码。 一种结合了代码、数学和HTML的媒介 测试深度学习(DL&#xf…

【Redis】Lua脚本在Redis中的基本使用及其原子性保证原理

文章目录 背景一、Eval二、EvalSHA三、Redis 对 Lua 脚本的管理3.1 script flush3.2 script exists3.3 script load3.4 script kill 四、Lua在Redis中原子性执行的原理 背景 Lua 本身是一种轻量小巧的脚本语言,在Redis2.6版本开始引入了对Lua脚本的支持。通过在服务…

Hadoop源码阅读(二):DataNode启动

说明: 1.Hadoop版本:3.1.3 2.阅读工具:IDEA 2023.1.2 3.源码获取:Index of /dist/hadoop/core/hadoop-3.1.3 (apache.org) 4.工程导入:下载源码之后得到 hadoop-3.1.3-src.tar.gz 压缩包,在当前目录打开Pow…

【算法|虚拟头节点|链表】移除链表元素

Leetcode203 移除链表元素 题目描述: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出&#xf…

通过curl命令分析http接口请求各阶段的耗时等

目录 一、介绍二、功能1、-v 输出请求 响应头状态码 响应文本等信息2、-x 测试代理ip是否能在该网站使用3、-w 额外输出查看接口请求响应的消耗时间4、-o 将响应结果存储到文件里面5、-X post请求测试 (没测成功用的不多) 一、介绍 Curl是一个用于发送和接收请求的命令行工具和…

使用Python CV2融合人脸到新图片--优化版

优化说明 上一版本人脸跟奥特曼图片合并后边界感很严重,于是查找资料发现CV2还有一个泊松函数很适合融合图像。具体代码如下: import numpy as np import cv2usrFilePath "newpic22.jpg" atmFilePath "atm2.jpg" src cv2.imrea…

基于matlab实现的额 BP神经网络电力系统短期负荷预测未来(对比+误差)完整程序分享

基于matlab实现的额 BP神经网络电力系统短期负荷预测 完整程序: clear; clc; %%输入矢量P(15*10) P[0.2452 0.1466 0.1314 0.2243 0.5523 0.6642 0.7105 0.6981 0.6821 0.6945 0.7549 0.8215 0.2415 0.3027 0; 0.2217 0.1581 0.1408 0.23…

【JVM 内存结构丨堆】

堆 定义内存分配特点:分代结构对象分配过程Full GC /Major GC 触发条件引用方式堆参数堆内存实例 主页传送门:📀 传送 定义 JVM(Java Virtual Machine)堆是Java应用程序运行时内存管理的重要组成部分之一。堆内存用于存储Java对象…

深度思考ES面经

1 推荐文章 2万字详解,吃透 Elasticsearch 2 什么是倒排索引,为什么这么叫? 倒排索引(Inverted Index)是一种为快速全文搜索而设计的数据结构。它被广泛应用于搜索引擎,其中 Elasticsearch(简…