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

【Linux】权限详解

前言

首先我们先来看一下权限的概念:

在多用户计算机系统的管理中,权限(privilege)是指某个特定的用户具有特定的系统资源使用权力,像是文件夹,特定系统指令的使用或存储量的限制。通常,系统管理员,或者在网络中的网络管理员,对某个特定资源的使用分配给用户不同的权限,系统软件则自动地强制执行这些权限。

在现实生活中,权限业并不陌生,例如我可以将我的朋友圈设置为某些人可见,所以只有这些人才有进入我朋友圈的权限。

Linux用户分类

Linux下有两种用户:

  1. 超级管理员,就是root用户,可以再linux系统下做任何事情,不受限制

  1. 普通用户,我们通过useradd建立的用户,在linux下做有限的事情。

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

命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。

su可以从普通用户切换到root用户,此时输入的密码为root的密码,而可以使用Ctrl加d退出root用户到普通用户。

Linux权限管理

Linux的权限可以简要的分为人和事物的属性,下边就这两点来分别讲解一下:

  1. 文件访问者的分类(人)

文件和文件目录的所有者:u---User

文件和文件目录的所有者所在的组的用户:g---Group

其它用户:o---Others

  1. 文件类型和访问权限(事物属性)

文件类型

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

在文件属性的第一个字符就是文件的类型,例如有d,就是文件夹,-就是普通文件。

基本权限

我们发现在每个文件访问者下有对应了三种权限,分别是r,w,x,分别是读,写,执行,这也就是我们常说的事物属性,例如面包只能被吃而不能去玩。

i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

iv.“-”表示不具有该项权限

基本权限的八进制表示

r对应的八进制表示就是4,w对应的八进制表示是2,x对应的八进制表示是1.

所以如果一个用户对某一个文件的文件类型为rwx,那么就可以表示为7,如果一个文件对拥有者所属组其他用户都有rwx权限,那么可以八进制表示为777。

文件访问权限的相关设置方法

chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

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

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

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

我们发现有上边的操作就可以将test文件的对每个用户的权限改为读和写。

②三位8进制数字

可以不去具体的写是哪个用户,而是加上八进制数字对应不同的用户。

chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

常用选项:-R 递归修改文件或目录的所属组

umask

功能

查看或修改文件掩码

新建文件夹默认权限=0666

新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

fifile指令

功能说明:辨识文件类型。

语法:fifile [选项] 文件或目录...

-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。

目录的权限

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

这时就会出现一个问题,就是如如果一个用户对一个目录具有写权限,那么这个用户无论是否对目录中的文件是否具有写权限,都可以随意删除该文件,那么这就不产生问题了吗?

所以我们要引入一个粘滞位的概念,使用chmod+t之后就会加上粘滞位,则该目录只能被:

一、超级管理员删除

二、该目录的所有者删除

三、该文件的所有者删除

总结

我们要切记目录的权限,只有具有x执行权限才可以进入该目录读取文件,而只有r读权限只能看到文件名,而看不到文件的信息。

相关文章:

【Linux】权限详解

前言首先我们先来看一下权限的概念:在多用户计算机系统的管理中,权限(privilege)是指某个特定的用户具有特定的系统资源使用权力,像是文件夹,特定系统指令的使用或存储量的限制。通常,系统管理员…...

Android 之 打开相机 打开相册

Android 之 打开系统摄像头拍照 打开系统相册&#xff0c;并展示1&#xff0c;清单文件 AndroidManifest.xml<uses-permission android:name"android.permission.INTERNET" /><!--文件读取权限--><uses-permission android:name"android.permiss…...

C语言数据结构初阶(8)----栈与队列OJ题

CSDN的uu们&#xff0c;大家好。这里是C语言数据结构的第八讲。 目标&#xff1a;前路坎坷&#xff0c;披荆斩棘&#xff0c;扶摇直上。 博客主页&#xff1a; 姬如祎 收录专栏&#xff1a;数据结构与算法栈与队列的知识点我➡➡队列相关点我➡➡栈相关2. 用栈实现队列原题链接…...

JavaScript——原型对象

JavaScript——原型对象专题 文章目录JavaScript——原型对象专题1. 原型对象2. 原型对象的this指向3. 案例4. constructor属性5. 对象原型6. 总结7. 原型继承8. 原型链由先前的学习可知&#xff0c;构造函数实例创建的对象彼此独立、互不影响&#xff0c;很好的体现了面向对象…...

网络安全 2023 年为什么如此吃香?事实原来是这样....

前言由于我国网络安全起步晚&#xff0c;所以现在网络安全工程师十分紧缺。俗话说:没有网络安全就没有国家安全为什么选择网络安全&#xff1f;十四五发展规划建议明确提出建设网络强国&#xff0c;全面加强网络安全保障体系和能力建设&#xff0c;加强网络文明建设&#xff0c…...

(源码篇02)webpack5中的事件调度系统和NormalModuleFactary核心逻辑

1. 书接上回&#xff0c;从 this.factorizeQueue.add(options, callback); 开始 不是很清楚上下文的兄弟&#xff0c;可以去看下我之前写的 &#xff08;源码篇01&#xff09;浅析webpack5中Compiler中重要的hook调用过程。 此文比较干&#xff0c;各位读者开始阅读前&#xf…...

Vue2.x源码:new Vue()做了啥?

vue源码版本vue2.5.2 new Vue()做了啥? new Vue()会执行_init方法&#xff0c;而_init方法在initMixin函数中定义。 src/core/instance/index.js文件中定义了Vue function Vue (options) {this._init(options) }initMixin(Vue) stateMixin(Vue) eventsMixin(Vue) lifecycl…...

WinForm | C# 弹出简易的消息提示框 (仿Android Toast消息提示)

ApeForms Toast消息提示 文章目录ApeForms Toast消息提示前言方法原型及参数释义消息驻留延时消息弹出模式队列模式抢占模式复用模式UI库安装与使用获取示例源码前言 在使用手机的时候经常会见到屏幕的中下方会弹出消息提示框&#xff0c;它就是Toast&#xff0c;以下是百度百…...

1、DRF实战总结:DRF特点、序列化与RESTful API规范

Django这种基于MVC开发模式的传统框架&#xff0c;非常适合开发基于PC的传统网站&#xff0c;因为它同时包括了后端的开发(逻辑层、数据库层) 和前端的开发(如模板语言、样式)。现代网络应用Web APP或大型网站一般是一个后台&#xff0c;然后对应各种客户端(iOS, android, 浏览…...

SIP协议及其简单介绍

SIP协议及其简单介绍概述流程SIP流程两台设备建立会话原理使用场景概述 SIP&#xff08;Session Initiation Protocol&#xff0c;会话初始化协议&#xff09;是一个应用层协议&#xff0c;用于在互联网上创建、修改和终止多媒体会话。SIP是一个客户端/服务器协议&#xff0c;…...

安全防御第四天:防病毒网关

一、恶意软件1.按照传播方式分类&#xff08;1&#xff09;病毒病毒是一种基于硬件和操作系统的程序&#xff0c;具有感染和破坏能力&#xff0c;这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地&#xff0c;它是病毒传播的目的地&#xff0c;又是下一次感染的出发点…...

Postman接口与压力测试实例

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。它提供功能强大的 Web API & HTTP 请求调试。 1、环境变量和全局变量设置 环境变量可以使用在以下地方&#xff1a; URLURL paramsHeader valuesform-data/url-encoded valuesRaw body contentHelper fi…...

TCP/IP socket

## TCP Socket 收发缓冲区: 每个socket在linux内核中都有一个发送缓冲区和一个接收缓冲区。 只要对端将数据发送过来&#xff0c;linux内核TCP/IP协议栈就会负责将数据缓存到socket对应的接收缓冲区中&#xff0c;无论是否调用recv。 recv()所做的工作&#xff0c;只是把内核缓…...

“工作三年,跳槽要求涨薪50%”,合理吗?

如果问在TI行业涨工资最快的方式是什么&#xff1f;回答最多的一定是&#xff1a;跳槽&#xff01;前段时间&#xff0c;知乎上这样一条帖子引发了不少IT圈子的朋友的讨论 &#xff0c;有网友提问 “程序员跳槽要求涨薪50%过分吗&#xff1f;”截图来源于知乎&#xff0c;如侵删…...

Vue学习计划九:了解Vue动画效果以及过渡动画和动态组件的使用方法

Vue.js 是一个流行的 JavaScript 框架&#xff0c;它提供了很多工具和功能&#xff0c;可以帮助开发人员创建动态、交互式的 Web 应用程序。其中之一就是动画效果&#xff0c;Vue.js 提供了一系列的 API 和指令&#xff0c;使得添加动画效果变得非常容易。 在 Vue.js 中&#…...

【Linux】进程理解与学习Ⅲ-环境变量

环境&#xff1a;centos7.6&#xff0c;腾讯云服务器Linux文章都放在了专栏&#xff1a;【Linux】欢迎支持订阅&#x1f339;相关文章推荐&#xff1a;【Linux】冯.诺依曼体系结构与操作系统【Linux】进程理解与学习Ⅰ-进程概念浅谈Linux下的shell--BASH【Linux】进程理解与学习…...

【三】一起算法---栈:STL stack、手写栈、单调栈

纸上得来终觉浅&#xff0c;绝知此事要躬行。大家好&#xff01;我是霜淮子&#xff0c;欢迎订阅我的专栏《算法系列》。 学习经典算法和经典代码&#xff0c;建立算法思维&#xff1b;大量编码让代码成为我们大脑的一部分。 ⭐️已更系列 1、基础数据结构 1.1、链表➡传送门 1…...

电路设计的一些概念

锁存器的产生 论述1 (转)时序电路&#xff0c;生成触发器&#xff0c;触发器是有使能端的&#xff0c;使能端无效时数据不变&#xff0c;这是触发器的特性。 组合逻辑&#xff0c;由于数据要保持不变&#xff0c;只能通过锁存器来保存。 第一个代码&#xff0c;由于是时序逻…...

【Linux】Linux下权限的理解

前言&#xff1a;在之前我们已经对基本的指令进行了深入的学习&#xff0c;接下来我将带领大家学习的是关于权限的相关问题。在之前&#xff0c;我们一直是使用的【root】用户&#xff0c;即为“超级用户”&#xff0c;通过对权限的学习之后&#xff0c;我们就会慢慢的切换到普…...

Prometheus监控实战系列十七:探针监控

目前对于应用程序的监控主要有两种方式&#xff0c;一种被称为白盒监控&#xff0c;它通过获取目标的内部信息指标&#xff0c;来监控目标的状态情况&#xff0c;我们前面介绍的主机监控、容器监控都属于此类监控。另一种则是“黑盒监控”&#xff0c;它指在程序外部通过探针的…...

别再手动改配置了!用Docker Compose一键部署带Web管理界面的Pulsar独立集群

告别手动配置&#xff1a;Docker Compose全自动部署Pulsar集群与Web管理平台 每次搭建开发环境都要重复输入十几条Docker命令&#xff1f;配置文件散落在各个角落难以维护&#xff1f;今天我要分享的这套方案&#xff0c;将彻底改变你部署消息队列的方式。只需一个YAML文件&…...

线程与进程的区别与联系:操作系统入门详解(含 Python 示例)

、先搞懂&#xff1a;进程与线程到底是什么&#xff1f;&#xff08;通俗类比官方定义&#xff09; 1.1 生活化类比&#xff1a;快速建立认知 如果把计算机的操作系统比作一个大型工厂&#xff1a; 进程&#xff1a;就是工厂里的一个个独立车间。每个车间有自己专属的生产资…...

Ubuntu20.04下HPC_SDK加速库安装避坑指南(附OpenACC测试代码)

Ubuntu 20.04下HPC_SDK加速库深度实战指南&#xff1a;从安装到OpenACC性能调优 在当今高性能计算领域&#xff0c;GPU加速已成为提升计算效率的关键技术。NVIDIA HPC SDK作为一套全面的开发工具包&#xff0c;为开发者提供了从编译器到性能分析的全套解决方案。本文将带您深入…...

低功耗设计避坑指南:从UPF报错案例学习isolation rules的正确姿势

低功耗设计避坑指南&#xff1a;从UPF报错案例学习isolation rules的正确姿势 在芯片设计领域&#xff0c;低功耗已成为衡量产品竞争力的核心指标之一。随着工艺节点不断演进&#xff0c;静态功耗占比显著提升&#xff0c;使得电源门控&#xff08;Power Gating&#xff09;技术…...

解放双手!用Open-AutoGLM实现微信自动回复消息,亲测可用

解放双手&#xff01;用Open-AutoGLM实现微信自动回复消息&#xff0c;亲测可用 1. 为什么需要微信自动回复&#xff1f; 每天我们都会收到大量微信消息&#xff1a;工作群的通知、朋友的问候、家人的关心...但总有那么些时刻&#xff0c;我们无法及时回复&#xff1a; 开会…...

Qwen-Image-2512-SDNQ Web服务实战:WebUI下载功能与浏览器兼容性全平台测试

Qwen-Image-2512-SDNQ Web服务实战&#xff1a;WebUI下载功能与浏览器兼容性全平台测试 1. 项目概述与核心价值 今天我要和大家分享一个特别实用的AI图片生成项目——基于Qwen-Image-2512-SDNQ-uint4-svd-r32模型的Web服务。这个项目最大的亮点在于&#xff0c;它把复杂的AI图…...

Maestro内核架构深度解析:从启动到多任务调制的完整流程

Maestro内核架构深度解析&#xff1a;从启动到多任务调制的完整流程 【免费下载链接】maestro Unix-like kernel written in Rust 项目地址: https://gitcode.com/gh_mirrors/maestro5/maestro Maestro是一个用Rust编写的类Unix内核&#xff0c;它通过现代内存管理、高效…...

SDMatte Web服务灰度发布:A/B测试框架搭建、用户行为埋点与转化率效果归因分析

SDMatte Web服务灰度发布&#xff1a;A/B测试框架搭建、用户行为埋点与转化率效果归因分析 1. 项目背景与灰度发布需求 SDMatte作为一款面向高质量图像抠图的AI模型&#xff0c;已在电商、设计等领域得到广泛应用。随着用户量增长和功能迭代&#xff0c;我们需要通过灰度发布…...

OpenClaw隐私增强:nanobot本地模型处理敏感财务数据

OpenClaw隐私增强&#xff1a;nanobot本地模型处理敏感财务数据 1. 为什么选择本地模型处理财务数据 去年我在帮朋友的小公司整理年度财报时&#xff0c;遇到了一个棘手的问题&#xff1a;他们使用的在线财务分析工具要求上传完整的Excel报表到云端服务器。虽然服务商承诺数据…...

Claude Code + DeepSeek:用自然语言从PRD到上线的打地鼠游戏全流程实录

Claude Code DeepSeek&#xff1a;用自然语言从PRD到上线的打地鼠游戏全流程实录 最近在技术社区里&#xff0c;一个有趣的趋势正在兴起——开发者们开始尝试用自然语言描述需求&#xff0c;然后让AI编程助手自动完成从文档编写到代码生成的全流程。这听起来像科幻小说里的场景…...