linux系统文件权限

news/2024/5/14 9:09:41/文章来源:https://blog.csdn.net/weixin_67595436/article/details/127722183

目录

shell命令以及运行原理

具体体现(命令行解释器)

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户

su指令 

Linux权限管理方面

文件访问者的分类(人)

为什么要有所属组?

文件属性的认识

文件权限读取修改方面

如何读取文件权限? 

如何更改文件权限(chmod)?

更改拥有者(chown)与所属组(chgrp)

更改文件权限(八进制数法)

文件默认权限

为什么有文件的默认权限?

修改umask来验证系统是如何使用umask值

 一个目录需要什么权限?

其他指令

file 

粘滞位

结束语


 

 

 

 

shell命令以及运行原理

 

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)
主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。
        对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)
        shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

具体体现(命令行解释器)

        命令行解释器(command line interpreter),命令行解释器是一个单独的软件程序,它可在用户和操作系统之间提供直接的通讯。命令行解释器是解释器的一种,用于对命令行进行解释执行。

表现:你看到的命令行提示符,以及可以输入指令并且可以执行,在Windows下在在计算机搜索栏里面输入“cmd”可以看到命令行提示符,在里面可以进行指令操作

 

cda85ed4f069484682e08848aea480a3.png
cf0eb0335e6e498eb1996597e804fd00.png

 

 

Linux权限的概念

        权限是用来约束人的(一个或者某些群体,比如视频网站的VIP),还有一点需要注意的是目标对象(视频网站等),本来就没有对应的属性(业务,比如去视频网站刷题),那么所有人就没有这种权限(刷题的权限),通俗点就是权限:一件事是否允许被谁做

综合上:文件权限 = 人(是否被允许) + 文件属性(是否有该属性)!

        一个普通文件即使显示为0字节,它在磁盘中所占的空间一定会大于0

        文件 = 内容(里面的内容) + 属性(创建时间等一系列自己所带的数据)

 

 

Linux下有两种用户:超级用户(root)、普通用户

超级用户:可以再linux系统下做任何事情,不受限制

普通用户:在linux下做有限的事情。

超级用户的命令提示符是“#”,普通用户的命令提示符是“$

su指令 

        注意两者密码不要设置成一样的,当想要切换用户的时候,使用su指令,可以进入下图,在输入指定用户的密码就可以完成用户的切换,当然root用户切换普通用户是不需要密码的root用户改普通用户密码也是不需要普通用户密码的,可以理解root用户是凌驾于权限之上的!所以一定要保管好自己root用户的密码哦~

 

 b11d327e0e5c4eae8cc6858b6cc8d5b7.png

 使用 su - 会使root用户重新登入

 3f7b7b21c2fe462d910fef40565ec7a7.png

 root用户切换普通用户是不需要密码的

433cf8092e7a4bc6a117bb9c29ad00b8.png

当我们不想切换root用户而使用root权限的时候可以使用sudo指令,当然有些情况下是不能使用sudo指令的,因为这里面有类似于白名单与黑名单的存在!

8b4d665686bc4b5a95d76cc1735bc483.png

 

 743e19c58f2248128f709cbbc0da9609.png

 

 

Linux权限管理方面

 

文件访问者的分类(人)

 

文件和文件目录的所有者:u---User
文件和文件目录的所有者所在的组的用户:g---Group
其它用户:o---Others

 

 23e6822bd8a441bca516313adc16b074.png

 

为什么要有所属组?

 

bf12a09001184ed4aefaf1197d549db6.png

 

 

文件属性的认识

 

969addb49227452c94d2c99bdd4e2698.png

 

 

 

 dc2e60a8a8b540269dca093e81893d82.png

 

 

aac064c843d94d86843d20c71049aa77.png

 

至于 s:套接口文件,这种文件的类型比较少就不讨论了

 

注意:虽然Linux系统下查看文件并不使用文件后缀名,但是一些诸如gcc等工具可能是会使用文件后缀名来进行区别对待的!

例如下面的gcc编译就不行了 ,gcc无法识别 

a22de38e1b50458c8b276c6c12b6ee64.png

 

文件权限读取修改方面

 

如何读取文件权限? 

 8d1e5bccae7c4732955e0d3e99e9b19b.png

 

如何更改文件权限(chmod)?

为了修改文件的权限,可以使用一个指令来完成

chmod(change mode)
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

使用方法: 

用户表示符+/-=权限字符

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:  
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

文件权限的修改

84810bc063db4ab0973077cb55f5a148.png

 

2b429379f5a0467abcd24e82231972c1.png

 

更改拥有者(chown)与所属组(chgrp)

chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名

 

chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组

 

 

458d021f508b41b6902e7634965c08b1.png

 当然other并没有要修改的,当既不是拥有者也不是所属组的时候就自然是other了

 

更改文件权限(八进制数法)

 

26fad6a380ac42218ba4e69ffedcb802.png

 

 

文件默认权限

 

为什么有文件的默认权限?

 

9b365ba18fd149ac94edfe0cf3d58e15.png

 

修改umask来验证系统是如何使用umask值

5c575beb0b0c4d35b2f5d7aea2ba1afe.png

 

 

 一个目录需要什么权限?

631b0f5ea586415fb19f977a188997b7.png

 

目录的权限总结

可执行权限(x): 如果目录没有可执行权限, 则无法cd到目录中.
可读权限(r): 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
可写权限(w): 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

 

 

其他指令

 

file 

功能说明:辨识文件类型。
语法:fifile [选项] 文件或目录... 
常用选项
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容

 

410872213bf84537a87826407a1ef40a.png

 

 

 

 

粘滞位

 

 

 

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

 

e0ea91d517e64ebb9f351eb2af42f06f.png

 即使提权输入也不被允许!当然这里查看文件内容并不是目录的权限而是文件本身的权限

 791fa85b1ce340feb7cb2c76b06bdfc7.png

 

 

关于目录权限的总结 

        目录的可执行权限是表示你可否在目录下执行命令。
        如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
        而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档
        所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档

 

结束语

壮志饥餐胡虏肉,笑谈渴饮匈奴血。待从头,收拾旧山河,朝天阙。

                                                                                ——岳飞《满江红•写怀》

 

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

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

相关文章

STM32 Bootloader开发记录 2

在《stm32 bootloader开发记录.md》文档中,已经实现了Bootloader下的升级功能。可以在Bootloader启动时,进入升级模式,使用串口传输数据,来下载固件到flash中。 但是,在实际应用中,一般是在应用运行过程中…

基于单片机的指纹门禁设计

功能: 研究内容:本课题以单片机为核心采用C语言来开发一指纹电子密码锁。系统拟在Altium Designer9开发平台上设计原理图,并绘制PCB并制成单片机开发板,然后根据原理图将相关元器件焊接到开发板上。软件部分在Keil uVision4开发…

餐饮美食网页设计(HTML+CSS+JavaScript)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

目标检测算法——自动驾驶开源数据集汇总2(附下载链接)

>>>深度学习Tricks&#xff0c;第一时间送达<<< 目录 一、Highway Driving 二、Mapillary Vistas 三、Cityscapes 四、CamVid >>>一起交流&#xff01;互相学习&#xff01;共同进步&#xff01;<<< 近期&#xff0c;小海带在空闲之余…

【FPGA】FPGA实现IIC协议读写EEPROM(二) -----EEPROM读写控制模块实现

EEPROM读写控制模块实现一、模块功能分析二、输入/输出信号三、EEPROM读写控制模块状态机四、EEPROM读写控制模块实现五、仿真测试写在前面&#xff1a; FPGA实现IIC协议读写EEPROM相关文章&#xff1a; IIC通信协议 【FPGA】FPGA实现IIC协议读写EEPROM&#xff08;一&#xff…

Kafka消费者之相关参数及分区分配再平衡

一、消费者重要参数 深刻的理解这些参数有利于大家在面对自己的项目场景上对配置文件有更好的把握&#xff01; 参数名称描述bootstrap.servers向 Kafka 集群建立初始连接用到的 host/port 列表。key.deserializer 和value.deserializer指定接收消息的 key 和 value 的反序列…

Spring--基于注解管理bean

基于注解管理bean 实验一&#xff1a;标记与扫描 注解 和 XML 配置文件一样&#xff0c;注解本身并不能执行&#xff0c;注解本身仅仅只是做一个标记&#xff0c;具体的功能是框架检测到注解标记 的位置&#xff0c;然后针对这个位置按照注解标记的功能来执行具体操作。 本质…

【ASM】字节码操作 工具类与常用类 asm-utils 与 asm-commons

1.概述 本章节主要是对 ASM中的 工具类与常用类 ,包asm-utils 与 asm-commons 两个包中的一些类进行讲解的介绍。 2. asm-util 在asm-util.jar当中,主要介绍CheckClassAdapter和TraceClassVisitor类。在TraceClassVisitor类当中,会涉及到Printer、ASMifier 和Textifier类。…

Vue中 引入使用 element-resize-detector 监听 Dom 元素 宽度、高度 变化

1. 前言 很多做pc端平台的小伙伴都遇到过这样一个问题&#xff1a;在做侧边栏菜单时会有一个收缩和展开的一个功能&#xff0c;在伸缩的过程中右边的页面的宽度就会随之改变。我上网查了查 &#xff0c;也动手试了试 window.onresize ()>{}。却不尽人意&#xff0c;因为它…

进程管理命令 动态监控进程 rpm yum

学习视频:074_韩顺平Linux_服务管理(2)_哔哩哔哩_bilibili 目录 进程管理命令基本介绍 PS命令 显示系统执行的进程 终止进程kill和killall 查看进程树pstree 服务管理 服务管理 打开或者关闭指定端口 动态监控进程 监控网络状态 …

数字IC手撕代码-XX公司笔试真题(脉冲密度调制)

前言&#xff1a; 本专栏旨在记录高频笔面试手撕代码题&#xff0c;以备数字前端秋招&#xff0c;本专栏所有文章提供原理分析、代码及波形&#xff0c;所有代码均经过本人验证。 目录如下&#xff1a; 1.数字IC手撕代码-分频器&#xff08;任意偶数分频&#xff09; 2.数字I…

nginx之https加密网站

目录 一、密钥算法 二、SSL虚拟主机 一、密钥算法 常见密钥算法&#xff1a; 对称加密&#xff1a;AES、DES 非对称加密&#xff1a;RSA、DSA 【注】对称加密的加密和解密使用的是同一把钥匙&#xff0c;非对称加密的加密和解密使用的不是一把钥匙&#xff0c;在对网…

0093 二分查找算法,分治算法

/* * 二分查找算法 * 前提&#xff1a;数组必须有序 * 1.确定该数组的中间值下标 mid(leftright)/2 * 2.让需要查找的数target和arr[mid]比较 * * 非递归算法 * 递归算法 */ public class BinarySearch_ { public static void main(String[] args) { int[…

【Python】常量和变量类型

目录 1.常量和表达式 2. 变量和类型 2.1 变量是什么 2.2 变量的语法 2.3 变量的类型 2.4 动态类型特性 1.常量和表达式 我们可以把Python当成一个计算器&#xff0c;来进行一些算式运算&#xff0c;如 print(1 2 - 1) print(1 2 * 2) print(1 2 / 2) 注&#xff1a;在…

pta-sql补题(2)

目录​​​​​​​ 插入insert&#xff1a; 两种语法形式&#xff1a; 插入记录&#xff08;一&#xff09; 表结构: 表样例 输出 插入记录&#xff08;二&#xff09; 表结构: 表样例 结果判定: 更新update 语法 更新记录&#xff08;一&#xff09; 表结构: …

Python——正则表达式的应用

文章目录前言正则表达式方法re.search方法group方法re.match方法re.findall方法re.finditer方法re.split方法re.sub方法正则表达式的应用前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 正则表达式是字符串处理的有力工具和技术。 使用正在表达式的目的…

Hackthebox系列 Starting point Tier0 Meow记录

免责声明&#xff1a;本教程仅限学术讨论使用&#xff0c;请勿作用于非法用途&#xff01;&#xff01;&#xff01;如有用于非法用途&#xff0c;本人概不负责。 目录题目来源题目TASK 1TASK 2TASK 3TASK 4TASK 5TASK 6NMAP端口扫描TASK 7Telnet访问TASK 8TASK 9参考题目来源 …

【RPC框架、RPC框架必会的基本知识、手写一个RPC框架案例、优秀的RPC框架Dubbo、Dubbo和SpringCloud框架比较】

一.RPC框架必会的基本知识 1.1 什么是RPC&#xff1f; RPC&#xff08;Remote Procedure Call ——远程过程调用&#xff09;&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络的技术。 一次完整的RPC同步调用流程&#xff1a; 服务…

rust编程语言(chapter 1)

目录 1. rust安装 2. Hello Rust 3. Cargo包管理器 3.1 cargo简介 3.2 cargo创建项目 3.3 构建和运行项目 3.4 debug和release版本构建 1. rust安装 rust提供了一个命令行的工具rustup&#xff0c;可以用来管理和安装rust的版本以及相关的工具集。 那么首先&#xff0c…

python游戏库pygame经典教程

目录 一.Pygame程序基本搭建过程 1.初始化化程序 2.创建Surface对象 3.事件监听 4.游戏循环 二.Pygame Display显示模块详解 1.将Surface对象粘贴至主窗口上 2.设置窗口主窗口 3.填充主窗口背景&#xff0c;参数值RGB 4.设置窗口标题 5.更新屏幕内容 6.pygame.display其他方…