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

【Linux常用命令11】Linux文件与权限详解

权限

r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示

常用权限

644:代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。
755:代表所有者拥有读、写和执行权限,而所属组和其他人拥有读、执行权限。
777:代表所有者、所属组和其他人都拥有读、写权限。

文件的特殊权限:SUID、SGID、SBIT

SUID

SUID:是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。

查看passwd命令属性时发现所有者的权限由rwx变成了rws,其中x改变成s就意味着该文件被赋予了SUID权限。

如果原本的权限是rw-呢?如果原先权限位上没有x执行权限,那么被赋予特殊权限后将变成大写的S。

SGID

SGID主要实现如下两种功能:
让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)。

在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。例在目录设置SGID,则用户在该目录创建文件,文件的默认的用户组将由用户自己的基本用户组变为目录的所属组,使得同组内的其他用户都能访问该文件。

SBIT

SBIT:确保用户只能删除自己的文件,而不能删除其他用户的文件。如果赋予了SBIT权限,则其他用户中的可执行权限位会从x-变为t/T

chattr:用于设置文件的隐藏权限

chattr [选项] 文件
参数  含义
-R  递归处理目录下的所有文件
-v  设置文件或目录版本
-V  显示指令执行过程
+   开启文件或目录的该项属性
--  关闭文件或目录的该项属性
=   指定文件或目录的该项属性
示例:
用chattr命令防止系统中某个关键文件被修改(加锁):
[root@linuxcool ~]# chattr +i /etc/resolv.conf
解锁:
[root@linuxcool ~]# chattr -i /home/omd/h.txt
让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
[root@linuxcool ~]# chattr +a /var/log/messages

chmod:用于修改文件或目录的访问权限

该命令有两种用法:一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

chmod [选项] 权限模式 文件或目录
参数  含义
-c   若该文件权限确实已经更改,才显示其更改动作
-f   若该文件权限无法被更改也不显示错误讯息
-v   显示权限变更的详细资料
-R   对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
​
#用户身份
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
​
#赋予方式
+ :加入权限
- :减去权限
= :设置权限
示例:
将档案 file1.txt 设为所有人皆可读取:
[root@linuxcool ~]# chmod a+r file.txt
将目前目录下的所有文件与子目录皆设为任何人可读取 :
[root@linuxcool ~]# chmod -R a+r *
将 file.txt 设定为只有该文件拥有者可以执行:
[root@linuxcool ~]# chmod u+x file.txt

chown:用于修改文件和目录的用户和所属组

chown [选项] 所有者:所属组 文件或目录
参数  含义
-R   对目前目录下的所有文件与子目录进行相同的拥有者变更
-c   若该文件拥有者确实已经更改,才显示其更改动作
-f   若该文件拥有者无法被更改也不要显示错误讯息
-h   只对于连结(link)进行变更,而非该 link 真正指向的文件
-v   显示拥有者变更的详细资料
--help  显示辅助说明
--version   显示版本
示例:
将test.txt文件用户组与用户都改为bin:
[root@linuxcool ~]# chown bin:bin test.txt  
将当前目录下所有文件的拥有者都改为 linuxcool,用户组改为 linuxcoolgroup:
[root@linuxcool ~]# chown -R linuxcool:linuxcoolgroup *

chgrp:用于修改文件和目录的所属组

chgrp [选项] 所属组 文件或目录
参数  含义
-c   效果类似”-v”参数,但仅回报更改的部分
-f   不显示错误信息
-h   对符号连接的文件作修改,而不更动其他任何相关文件
-R   递归处理,将指定目录下的所有文件及子目录一并处理
-v   显示指令执行过程
--reference 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
改变文件的群组属性:
[root@linuxcool ~]# chgrp -v linuxcool file
将/usr/linuxcool及其子目录下的所有文件的用户组改为cool:
[root@linuxcool ~]# chgrp -R cool /usr/linuxcool

相关文章:

【Linux常用命令11】Linux文件与权限详解

权限 r :读权限,用数字4表示 w :写权限,用数字2表示 x :执行权限,用数字1表示 常用权限 644:代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。 755:代表所有…...

BAT026:删除当前目录指定文件夹以外的文件夹

引言:编写批处理程序,实现删除当前目录指定文件夹以外的文件夹。 一、新建Windows批处理文件 参考博客: CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件,点击【编辑】…...

Python浏览器自动化

如果你正在进行手机爬虫的工作,并且希望通过模拟浏览器行为来抓取数据,那么Pyppeteer将会是你的理想选择。Pyppeteer是一个强大的Python库,它可以让你控制浏览器进行自动化操作,如点击按钮、填写表单等,从而实现数据的…...

基于tornado BELLE 搭建本地的web 服务

我的github 将BELLE 封装成web 后端服务,采用tornado 框架 import timeimport torch import torch.nn as nnfrom gptq import * from modelutils import * from quant import *from transformers import AutoTokenizer import sys import json #import lightgbm a…...

信息系统漏洞与风险管理制度

1、总则 1.1、目的 为了进一步规范XXXXX单位信息系统风险管理活动,提升风险管理工作的可操纵性和适用性,使信息网络正常运行,防止网络攻击,保证业务的正常进行,依据XXXXX单位员的相关规范和标准规定,特制…...

Hadoop3教程(十七):MapReduce之ReduceJoin案例分析

文章目录 (113)ReduceJoin案例需求分析(114)ReduceJoin案例代码实操 - TableBean(115)ReduceJoin案例代码实操 - TableMapper(116)ReduceJoin案例代码实操 - Reducer及Driver参考文献…...

BAT026:删除当前目录及子目录下的空文件夹

引言:编写批处理程序,实现批量删除当前目录及子目录下的空文件夹。 一、新建Windows批处理文件 参考博客: CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件,点击【编辑…...

nodejs+vue网课学习平台

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…...

Can Language Models Make Fun? A Case Study in Chinese Comical Crosstalk

本文是LLM系列文章,针对《Can Language Models Make Fun? A Case Study in Chinese Comical Crosstalk》的翻译。 语言模型能制造乐趣吗?中国滑稽相声个案研究 摘要1 引言2 问题定义3 数据集4 使用自动评估生成基准5 人工评估6 讨论7 结论与未来工作 摘要 语言是…...

阿里云云服务器实例使用教学

目录 云服务器免费试用 详细步骤 Xshell 远程连接 云服务器免费试用 阿里云云服务器网址:阿里云免费试用 - 阿里云 详细步骤 访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)…...

promisify 是 Node.js 标准库 util 模块中的一个函数

promisify 是 Node.js 标准库 util 模块中的一个函数。它用于将遵循 Node.js 回调风格的函数转换为返回 Promise 的函数。这使得你可以使用 async/await 语法来等待异步操作完成,从而让异步代码看起来更像同步代码。 在 Node.js 的回调风格中,函数通常接…...

ArcGIS在VUE框架中的构建思想

项目快要上线了,出乎意料的有些空闲时间。想着就把其他公司开发的一期代码里面,把关于地图方面的代码给优化一下。试运行的时候,客户说控制台有很多飘红的报错,他们很在意,虽然很不情愿,但能改的就给改了吧…...

【Overload游戏引擎细节分析】视图投影矩阵计算与摄像机

本文只罗列公式,不做具体的推导。 OpenGL本身没有摄像机(Camera)的概念,但我们为了产品上的需求与编程上的方便,一般会抽象一个摄像机组件。摄像机类似于人眼,可以建立一个本地坐标系。相机的位置是坐标原点,摄像机的朝…...

什么是云原生?零基础学云原生难吗?

伴随着云计算的浪潮,云原生概念也应运而生,而且火得一塌糊涂,但真正谈起“云原生”,大多数非 IT 从业者的认知往往仅限于将服务应用放入云端,在云上处理业务。实际上,云原生远不止于此。 现在越来越多的企…...

Ubuntu18.04下载安装基于使用QT的pcl1.13+vtk8.2,以及卸载

一、QVTKWidget、QVTKWidget2、QVTKOpenGLWidget、QVTKOpenGLNativeWidget 区别 1.Qt版本 Qt5.4以前版本:QVTKWidget2/QVTKWidget。 Qt5.4以后版本:QVTKOpenGLWidget/QVTKOpenGLWidget。 2.VTK版本(Qt版本为5.4之后) 在VTK8.2以前的版本:QVT…...

7 使用Docker容器管理的tomcat容器中的项目连接mysql数据库

1、查看容器的IP 1)进入容器 docker exec -it mysql-test /bin/bash 2)显示hosts文件内容 cat /etc/hosts 这里容器的ip为172.17.0.2 除了上面的方法外,也可以在容器外使用docker inspect查看容器的IP docker inspect mysql-test 以下为…...

双节前把我的网站重构了一遍

赶在中秋国庆假期前,终于将我的网站(https://spacexcode.com/[1])结构定好了,如之前所说,这个网站的定位就是作为自己的前端知识沉淀。内容大致从:前端涉及的基础知识分类汇总(知识库&#xff0…...

基于 nodejs+vue网上考勤系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…...

以数智化指标管理,驱动光伏能源行业的市场推进

近年来,碳中和、碳达峰等降低碳排放、提升环境健康度的政策和技术改进正在不断地被社会所认可和引起重视,也被越来越多的企业在生产运营和基础建设中列为重要目标之一。而光伏能源行业作为全球绿色能源、新能源的优秀解决方案,充分利用太阳能…...

lv8 嵌入式开发-网络编程开发 18 广播与组播的实现

目录 1 广播 1.1 什么是广播? 1.2 广播地址 1.3 广播的实现 2 组播 2.1 分类的IP地址 2.2 多播 IP 地址 2.3 组播的实现 1 广播 1.1 什么是广播? 数据包发送方式只有一个接受方,称为单播 如果同时发给局域网中的所有主机&#xff0…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

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

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

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)&#xff…...

抽象类和接口(全)

一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...