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

linuxOPS基础_linux权限管理

权限概述

什么是权限

​ 在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利。

在Linux 中分别有读、写、执行权限

\权限针对文件权限针对目录
读r(read)表示可以查看文件内容;cat、less…表示可以(ls)查看目录中存在的文件名称
写w(write)表示可以更改文件的内容;vim 修改,保存退出表示是否可以删除目录中的子文件或者新建子目录(rm/touch/mkdir)
执行x(excute)表示是否可以开启文件当中记录的程序,一般指二进制文件(.sh)表示是否可以进入目录中(cd)

注意:

  1. 文件拥有w权限也不可删除,需要用户拥有其父文件夹w权限才可删除,也就是说,用户想删除一个文件,看的并不是他对此文件是否拥有w权限,而应该查看该用户对这个文件所在目录是否有w权限
  2. 可执行权限,针对文件也可以针对文件夹,文件(一般为脚本程序,如shell.sh),目录,代表我们可以使用cd命令切换到此目录中
  3. 一般给予目录读权限时,也将会给其执行权限,属于“套餐”组合

为什么要设置权限

  1. 服务器中的数据价值

  2. 员工的工作职责和分工不同

  3. 应对自外部的攻击

  4. 内部管理的需要

Linux中的权限类别

Linux 系统一般将文件权限分为3 类:

read(读)

write(写)

execute(执行)

Linux中文件所有者

文件的拥有者:默认情况下,谁创建了这个文件谁就是文件的拥有者。文件的拥有者可以进行更改并不是一成不变的。

qayrup=> linux.txt,默认情况下,qayrup就是linux.txt文件的拥有者

1. 所有者分类(谁)

对于文件的所有者,又分为3类:
user(属主)
group(属组)
other(其他用户)

user(属主):

文件的创建者或拥有者, 换句话说,某个账户对这个文件有的权限。

qayrup=> linux.txt,默认情况下,qayrup就是linux.txt文件的拥有者

group(属组):

文件所属的用户组,换句话或,某个用户组对这个文件有的权限。
group所属组内用户代表与文件的所属组相同的组内用户。

比如,qayrup与q、jiumei都同属于一个helloworld的用户组,qayrup和jiumei就是这个文件的组内用户。

other(其他用户):

除了上面提到的属主和属组之外的所有用户,对这个文件有的权限
other其他用户代表这些人既不是文件的拥有者,也不是文件所属组内的用户,我们把这些人就称之为other其他用户。

特殊用户root

在Linux操作系统中,root拥有最高权限(针对所有文件),所以权限设置对root账号没有效果

所有者的表示方法

① u(the user who owns it)(属主权限)

u表示,文件所有者,默认为文档的创建者

② g(other users in the file’s group)(属组权限)

g表示,在文件所属组(默认是创建文件的用户的主组)里的用户

③ o(other user not in the file’s group)(其他权限)

o表示,既不是文件的创建者,也不在文件属组里的用户,称为其他人

注意:某些资料上会提到linux ugo权限,所谓ugo,就是User, Group,Other三个单词的首字母。就指属主,主组,其他三种权限。

ugo等于u+g+o

a (all)等于u+g+o

root用户(超级管理员)

​ 在Linux 中,还有一个神一样的用户,这就是root 用户,因为在所有用户中它拥有最大的权限 ,可以管理着普通用户。因此以后在设置文档的权限的时候不必考虑root 用户。

普通权限管理

ls查看文件权限

要设置权限,就需要知道文件的一些基本属性和权限的分配规则。在Linux 中,ls 命令常用来查看文档的属性,用于显示文件的文件名和相关属性。
基本语法:

ls -l
或
ll

备注:ll命令是红帽以及CentOS系统特有的一个命令,在其他操作系统中可能并不支持

在这里插入图片描述

  1. 文件类型+权限 : - 代表文件类型 -后面到点,代表权限
  2. 文件节点数: 代表有多少个文件,如果是普通文件,则只有1节点
  3. root: 代表文件的拥有者,每个文件都有一个拥有者
  4. root: 文件所属组,某一个用户所属组是root,就也是这个文件的’所有者g’
  5. 文件的最后修改时间
  6. 文件名称 : 白色普通文件,绿色可执行文件,红色包或压缩文件

文件权限详解

Linux 中存在三类身份:

属主(owner拥有者)
属组(group用户组)
其他用户(others)

各自有不同的权限,对于一个文档来说,其权限具体分配如下:
在这里插入图片描述

linux7种文件类型

linux一共有7种文件类型,分别如下:

  • -:普通文件
  • d:目录文件
  • l: 软链接(类似Windows的快捷方式)

(下面四种是特殊文件)

  • b(block):块设备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件(例如猫等串口设备)
  • s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)

文件权限对应关系(对应数字后面有用

权限对应数字意义
r4可读
w2可写
x1可执行
前10位字符表示含义:

第1位:表示文件类型
第2-4位:表示文件所有者的权限情况,第2位r表示读权限,第3位w表示写权限,第4位x表示执行权限。
第5-7位:表示与文件所有者同组的用户的权限情况,第5位r表示读权限,第6位-表示不可写,第7位x表示执行权限。
第8-10位:表示除了组外的其他用户权限情况,第8位r表示读权限,第9位-表示不可写,第10位x表示执行权限。

文件或文件夹权限设置

命令:chmod (change mode)

语法:# chmod [选项] 权限模式 路径

作用:增加或者减少当前文件所有者的权限(注意,不能改变所有者,只能改变现有所有者的权限)

常用选项:-R:递归设置权限 (当文档类型为文件夹的时候)

权限模式:就是该文档需要设置的权限信息

路径:可以是文件,也可以是文件夹,可以是相对路径也可以是绝对路径。

注意:如果想要给文档设置权限,操作者要么是root 用户,要么就是文档的所有者。

字母形式权限设置(对应前面提到的u g o,r w x的表示方法)

使用root用户登录
注意:字母设置并不难,重点看三方面

  1. 第一个:确认要给哪个身份设置权限,u、g、o、ugo(a)

  2. 第二个:确认是添加权限(+)、删除权限(-)还是赋予权限(=)

  3. 第三个:确认给这个用户针对这个文件或文件夹设置什么样的权限,r、w、x

示例1 给一个文件添加或减去权限

案例: 使用chmod 给hello.txt文件夹添加所有者可执行权限

chmod  u+x hello.txt

在这里插入图片描述

含义:对于hello.txt文件,给 属主 增加 执行 权限

案例: 使用chmod 给hello.txt文件减去所有者可执行权限

chmod  u-x hello.txt

在这里插入图片描述

示例2 给一个文件赋予权限

案例: 使用chmod 给hello.txt文件赋予所属组-wx权限

chmod  g=rw hello.txt

在这里插入图片描述
如上案例.赋予权限会重置掉已有的权限,
比如hello所属组拥有r权限,但是使用g=wx赋予wx权限的话
hello.txt所属组权限就只有wx权限而没有r权限了

示例3 给文件目录添加权限

案例: 使用chmod 给 shop文件夹添加所属组w权限

chmod g+w shop

在这里插入图片描述

示例4 给文件夹及其内部添加权限

案例:使用chmod 给shop及其内部所有文件赋予所属组读取权限

chmod -R g=r shop

在这里插入图片描述

示例5 分别给文件各用户设置权限

案例: 使用chmod分别给hello.txt所属用户设置rwx,所属组rw,其它用户r,权限

chmod u=rwx,g=rw,o=r hello.txt

在这里插入图片描述

字母权限设置小结
字母选项作用
u(谁)user属主
g(谁)group属组
o(谁)other其他用户
a(谁)all 所有人(包含ugo)
+(作用)增加作用
-(作用)移除作用
=(作用)等于赋值作用
r(权限)read可读权限
w(权限)write可写权限
x(权限)execute可执行权限
-(权限)-没有任何权限

注意 : 如果同时设置多个身份的权限时候,每个身份之间需要通过英文逗号分

chmod -R u=rwx,g=rwx,o=rwx quanxian.txt
数字形式权限设置

经常会在技术网站上看到类似于# chmod 777 a.txt 这样的命令,这种形式称之为数字形式权限

文件权限与数字的对应关系,我们会发现没有7这个数字

权限对应数字意义
r4可读
w2可写
x1可执行
-0没有权限

在这里插入图片描述

777 :

第一个数字7,代表文件拥有者权限

第二个数字7,代表文件所属组内用户权限

第三个数字7,代表其他用户权限

rwx = 4 + 2 + 1 = 7

rw = 4 + 2 = 6

rx = 4 + 1 = 5

示例1 用数字的形式给文件设置权限,

案例:给readme.txt设置权限,文件的拥有者rwx,组内用户rw,其他用户r
rwx = 7
rw = 6
r = 4

# chmod 764 readme.txt
数字权限设置小结
数字权限作用
0-不能读,不能写,不能执行
1execute不能读,不能写,可执行
2write不能读,可写,不能执行
32+1不能读,可写,可执行
4read可读,不能写,不能执行
54+1可读,不能写,可执行
64+2可读,可写,不能执行
74+2+1可读,可写,可执行

注意 不要背上面的表格,只要记住R,W,X对应4,2,1,之后做10以内
加法

文件拥有者以及文件所属组设置

文件拥有者:属主

文件所属组:属组

什么是属主与属组

属主:所属的用户,文档所有者,这是一个账户,这是一个人

属组:所属的用户组,这是一个组

文件拥有者与所属组的查看

ls -l
或
ll

蓝色属主,红色属组
在这里插入图片描述

文件的拥有者与文件所属组来源

在Linux操作系统中,每个文件都是由Linux系统用户创建的。

在Linux操作系统中,每个用户都具有一个用户名称以及一个主组的概念

su - q
touch readme.txt
ll readme.txt

在这里插入图片描述
文件拥有者设置

chown [选项] 新文件拥有者名称 文件名称
选项说明:
-R :代表递归修改,主要针对文件夹

示例1 更改文件拥有者

案例:把/root/readme.txt文件的拥有者更改为q

chown q /root/readme.txt

在这里插入图片描述

文件所属组的设置

chgrp [选项] 新文件所属组名称 文件名称
选项说明:
-R : 代表递归修改,主要针对文件夹

示例1 修改文件所属组

案例:把/root/readme.txt文件的所属组名称更改为q

chgrp q /root/readme.txt

在这里插入图片描述

chown同时修改属主与属组

chown [选项] 文件拥有者名称:文件所属组名称 文件名称

chown [选项] 文件拥有者名称.文件所属组名称 文件名称
选项说明:
-R : 代表递归修改,主要针对文件夹

示例1 同时修改文件的所属主与所属组

案例:readme.txt文件的拥有者与所属组同时更改为root

 chown root:root readme.txt
或chown root.root readme.txt

在这里插入图片描述

示例2 同时修改文件夹所属主与所属组
chown -R root:root shop
或
chown -R root.root shop

在这里插入图片描述

相关文章:

linuxOPS基础_linux权限管理

权限概述 什么是权限 ​ 在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利。 在Linux 中分别有读、写、执行权限 \权限针对文件权限针对目录读r(read)表示可以查看文件内容;cat、less…表示可以(ls)查看目录中存在的文…...

linux安装homeassistant(智能设备远程控制开源框架)

1、安装docker 先切换到root 用户,先安装一些基本环境: yum install -y yum-utils device-mapper-persistent-data lvm2添加阿里云软件源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo然后安装 D…...

TensorRT Triton Inference Server: 版本 error魔术标记不匹配 , NGC使用

魔术标记不匹配错误Serialization assertion magicTagRead kMAGIC_TAG failed.Magic tag does not match 原因: 转换和推理使用的镜像的标签是相同的,但是转换的镜像中pip list得到trt版本为8.6.0,但是推理环境中 rootf2c810ba3976:/# /usr/…...

Elasticsearch 文本分析器(下)

字符过滤器 注意:字符过滤器用于在将字符流传递给分词器之前对其进行预处理 html_strip HTML元素替换过滤器 此过滤器会替换掉HTML标签,且会转换HTML实体 如:& 会被替换为 &。 {"tokenizer": "keyword","…...

Git操作方法

目录 Git是什么 Git特点 Git作用 Git原理 集中式 分布式 Git安装 修改语言 Git操作 1.初始化Git仓库 2.提交工作区的内容到版本库 3.查看版本记录 4.版本回退 5.版本前进 Git 命令 通用操作 工作状态 版本回退 版本前进 远程仓 1.GitHub 2.GitLab 3.码云…...

CorelDRAW矢量绘图2023中文版下载

市面上的矢量绘图工具虽然很多,但权威又专业的却不多,选到不好用的工具,会极大的影响自己创作,CorelDRAW简称cdr,是一款功能强大的矢量图制作软件,一说到矢量图制作,大家都会不由自主地想到cdr。…...

Java-API简析_java.lang.Float类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131129886 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…...

pycharm的基本使用

废话文学 本人记录笔记始终遵循“能动手绝不动脑,能动脑绝不动手”的基本原则。不会的操作,跟着笔记干就完事了,还动啥脑袋?留着脑细胞刷抖音擦边小姐姐他不香吗? 什么是IDE IDE即【集成开发环境】,Inte…...

为什么要使用微软的 Application Framework?

我是荔园微风,作为一名在IT界整整25年的老兵,今天来看一下我们为什么要使用微软的 Application Framework? 虽然Application Framework 并不是新观念,它们却在最近数年才成为 PC 平台上软件开发的主流工具。面向对象语言是具体实…...

Python爬虫基础知识点

Python爬虫是使用Python编写的程序,可以自动抓取互联网上的数据。常用的Python爬虫框架包括Scrapy、BeautifulSoup、Requests等。Python爬虫可以应用于众多场合,如大数据分析、信息监测、数据挖掘和机器学习等领域。那么新手应该如何学习python爬虫呢&am…...

K8s运维备忘

1.服务器集群搭建: VagrantFile中加入以下代码,创建3个虚拟机: Vagrant.configure("2") do |config| (1..3).each do |i| config.vm.define "k8s-node#{i}" do |node| # 设置虚拟机的Box …...

激光雷达+rtk+rgb联合使用(4)

因为一直在忙一些乱七八糟的事情,就没顾得上继续写,想着快速收尾算了。 前面写到,我在点云的匹配上花了大量的时间,不断的调参数,换方法,一共几百个点云,想着先每50个匹配一次,得到几…...

【K8S系列】快速初始化⼀个最⼩集群

序言 走得最慢的人,只要不丧失目标,也比漫无目的地徘徊的人走得快。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级重要蓝色:用来标记二级重要 希望这篇文章能让你不仅有…...

Exploit/CVE-2010-0738

打开JBoss的潘多拉魔盒:JBoss高危漏洞分析 *本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。 前言 JBoss是一个基于J2EE的开放源代码应用服务器&#xff0…...

Go单元测试及框架使用

Go自带测试框架 单元测试 建议Go 语言推荐测试文件和源代码文件放在一块,测试文件以 _test.go 结尾。函数名必须以 Test 开头,后面一般跟待测试的函数名参数为 t *testing.T 简单测试用例定义如下: func TestXXXX(t *testing.T) {// ...}…...

TreeMap类型实体类数据进行排序

实体类Student类代码如下所示&#xff1a; package com.test.Test11;public class Student implements Comparable<Student>{private int age;private String name;private Double height;public int getAge() {return age;}public void setAge(int age) {this.age age…...

HOOPS助力AVEVA数字化转型:支持多种3D模型格式转换!

行业&#xff1a; 电力和公用事业、化工、造船、能源、采矿业 挑战&#xff1a; 创建大规模复杂资产的客户需要汇集多种类型的数据&#xff0c;以支持初始设计和创建强大的数字双胞胎&#xff1b;现有版本的产品只支持半打CAD格式&#xff1b;有限的内部开发资源限制了增加对新…...

(转载)基于遗传模拟退火的聚类算法(matlab实现)

1 理论基础 1.1 模糊聚类分析 模糊聚类是目前知识发现以及模式识别等诸多领域中的重要研究分支之一。随着研究范围的拓展&#xff0c;不管是科学研究还是实际应用&#xff0c;都对聚类的结果从多方面提出了更高的要求。模糊C-均值聚类(FCM)是目前比较流行的一种聚类方法。该…...

【C++】struct 和 class 的区别

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快。时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 目录 1、缘起 2、示例代码 3、总结 1、缘起 在 C 中&#xff0c;struct 和 class 唯一的区别就在于 默认的访问权限不同。区别如下&#xff1a; …...

活动笔记丨物业行业人效提升与灵活用工新路径

近日&#xff0c;盖雅工场成功举办物业行业人效提升专场交流&#xff0c;来自广深地区央企和民营的领先物业企业和现场服务业的多位代表齐聚深圳招商积余大厦&#xff0c;共同研讨行业人效提升的挑战和实践。 本次闭门交流会聚焦于人效提升&#xff0c;讨论话题包括各自企业在人…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...