Ubuntu Linux 文件、目录权限问题

本文为Ubuntu Linux操作系统- 第五弹
此文是在上期文件目录的内容操作基础上接着讲权限问题
上期回顾:Ubuntu Linux 目录和文件的内容操作

在这里插入图片描述

文件访问者身份与文件访问权限

Linux文件结构

  • 所有者(属主)
  • 所属组(属组)
  • 其他用户

普通文件

  • 读(r):读取文件内容或者查看目录。
  • 写(w):修改文件内容或者创建、删除文件。
  • 执行(x):执行文件或者允许使用cd命令进入目录。

查看文件属性

-rw-r--r--   1     lxj     lxj    8980  125 12:11 examples.desktop
[文件权限]  [链接][所有者][所属组] [容量]  [修改日期]    [文件名]

在这里插入图片描述

变更文件访问者身份

变更所有者

  • 使用chown命令变更文件所有者,使其他用户对文件具有所有权
   chown [选项] [新所有者] 文件列表

变更所属组

使用chgrp命令可以变更文件的所属组

   chgrp [选项] [新的所属组] 文件列表

使用chown命令同时变更文件所有者和所属组

   chown [选项] [新所有者]: [新的所属组] 文件列表

设置文件访问权限

chmod命令设置文件访问权限用法

 chmod [选项]... 模式[,模式]... 文件

文件权限用字符表示

+表示增加某种权限, 表示撤销某种权限,=表示指定某种权限
所有者所属组和其他用户分别用字符u、g、o表示,全部用户用a 表示
权限类型用r、wx 表示

文件权限用数字表示

  • 将权限读(r)、 写(w)和执行(x)分别用数字4、21 表示,没有任何权限则表示为0
  • 权限用其各项权限的和表示(结果为0~7之间的数字),依次为所有者(u)、所属组(g)和其他用户(o)的权限

设置默认的文件访问权限

  • 默认管理员新创建的普通文件的权限被设置为:rw-r--r--,用数字表示为644
  • 新创建的目录权限为:rwxr-xr-x,用数字表示为755
  • 默认权限通过umask(掩码)实现,掩码用数字表示,实际上是文件权限码的“补码”
  • 创建目录的最大权限为777,减去umask值(如022),就得到目录创建默认权限(如777−022=755
  • 创建文件的最大权限为666,减去umask值(如022),就得到文件创建默认权限(如666−022=644
  • 同时可以使用umask命令来查看和修改umask

特殊权限

  • 特殊权限共有3种:suid、sgidsticky
  • Linux的suid(setuid)sgid(setgid)与用户进程的权限有关。
  • suidsgid用字符表示,分别为sg。要在文件属性中表示这些特殊权限,将在执行权x标志位置上显示
  • suidsgid权限使用八进制数字分别表示为4和2
  • 为防止用户任意删除或修改别人的文件,可设置sticky权限
  • sticky权限只对目录有效。
  • sticky权限用字符表示t,用八进制数字表示为1

Ubuntu 图形界面中设置文件和文件夹权限

可设置的文件夹访问权限

  • 无:没有任何访问权限(不能对所有者设置此权限)。
  • 只能列出文件:可列出文件清单。
  • 访问文件:可以查看文件,但是不能做任何更改。
  • 创建和删除文件:这是最高权限。
    在这里插入图片描述

可设置的文件访问权限

  • 无:没有任何访问权限(不能对所有者设置此权限)。
  • 只读:可打开文件查看内容,但是不能做任何更改。
  • 读写:打开和保存文件。
  • 执行:允许以程序方式运行文件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

今天Ubuntu Linux的文件和目录的内容到这里就完结了,明天开始新的篇章讲磁盘存储管理。 明天见!!
想要了解更多内容点击练小杰的CSDN!!!!

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

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

相关文章

2020年国赛高教杯数学建模E题校园供水系统智能管理解题全过程文档及程序

2020年国赛高教杯数学建模 E题 校园供水系统智能管理 原题再现 校园供水系统是校园公用设施的重要组成部分,学校为了保障校园供水系统的正常运行需要投入大量的人力、物力和财力。随着科学技术的发展,校园内已经普遍使用了智能水表,从而可以…

最新版Chrome谷歌加载ActiveX控件之金格iWebOffice2015控件

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

【Flink-scala】DataStream编程模型之水位线

DataStream API编程模型 1.【Flink-Scala】DataStream编程模型之 数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 3.【Flink-scala】DataStream编程模型之 窗口计算-触发器-驱逐器 文章目录 DataStream API编程模型前言…

iOS平台接入Facebook登录

1、FB开发者后台注册账户 2、完善App信息 3、git clone库文件代码接入 4、印尼手机卡开热点调试 备注: 可能遇到的问题: 1、Cocos2dx新建的项目要更改xcode的git设置,不然卡在clone,无法在线获取FBSDK 2、动态库链接 需要在…

unity打包web,发送post请求,获取地址栏参数,解决TypeError:s.replaceAll is not a function

发送post请求 public string url "http://XXXXXXXXX";// 请求数据public string postData "{\"user_id\": 1}";// Start is called before the first frame updatevoid Start(){// Post();StartCoroutine(PostRequestCoroutine(url, postData…

VTK编程指南<三>:基于VTK入门程序解析来理解VTK基础知识

1、VTK入门程序 下面是一个完整的Vtk入门程序&#xff0c;我们基于这个程序来对VTK的基本知识进行一个初步了解。 #include <iostream>#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2);// VTK was built with vtkRenderingOpenGL2 VTK_MODULE_INI…

大语言模型应用Text2SQL本地部署实践初探

自从两年前OpenAI公司发布ChatGPT后&#xff0c;大模型(Large Language Model&#xff0c;简称LLM)相关技术在国内外可谓百家争鸣&#xff0c;遍地开花&#xff0c;在传统数据挖掘、机器学习和深度学习的基础上&#xff0c;正式宣告进入快速发展的人工智能(Artificial Intellig…

shell脚本实战案例

文章目录 实战第一坑功能说明脚本实现 实战第一坑 实战第一坑&#xff1a;在Windows系统写了一个脚本&#xff0c;比如上面&#xff0c;随后上传到服务&#xff0c;执行会报错 原因&#xff1a; 解决方案&#xff1a;在linux系统touch文件&#xff0c;并通过vim添加内容&…

Power BI - 批量导入数据

1.简单介绍 假定已经使用Power Automate Desktop(微软的RPA产品&#xff0c;是Power Platform平台的其中一个产品)从福布斯中文网获取了各地区的2024年的财富数据如下&#xff0c; 现在想批量导入数据到Power BI中&#xff0c;分析一下各地区的产业以及财富情况 2.具体说明 …

医疗系统国产数据库高质量发展路径探析

信息工程人员操作数据库 一、国外数据库在医疗系统中的困境 &#xff08;一&#xff09;数据分散与难以整合 在美国&#xff0c;分散式医疗服务成为癌症研究数据库优化的巨大障碍。患者先在社区接受肿瘤科医生常规检查&#xff0c;再到学术医疗中心进行尖端治疗&#xff0c;然…

Maven 打包出现问题解决方案

我执行 mvn install 报如下错误 可是我在 web 模块中能正确引用到 common 的类&#xff0c;于是我把 web 引用到的 common 中的类先移动到 web 模块中&#xff0c;然后把 common 模块的类都删掉&#xff0c;然后再次执行 mvn install,结果报错如下&#xff1a; [ERROR] Faile…

微信小程序里的小游戏研发需要什么技术栈

研发小程序里的小游戏通常需要以下技术栈&#xff1a; 前端技术 HTML5 / CSS3&#xff1a;用于构建游戏的界面布局和样式。JavaScript&#xff1a;作为核心编程语言&#xff0c;实现游戏的逻辑和交互。小程序开发框架&#xff1a;如微信小程序的开发框架&#xff0c;了解其 API…

RabbitMQ延迟消息的实现

RabbitMQ延迟队列的实现 延迟消息是什么延迟消息的实现死信交换机代码实现 延迟消息插件 延迟消息是什么 延迟消息是将消息发送到MQ中&#xff0c;消费者不会立即收到消息&#xff0c;而是过一段时间之后才会收到消息&#xff0c;进行处理。在一些业务中&#xff0c;可以用到延…

HTML5 拖拽 API 深度解析

一、HTML5 拖拽 API 深度解析 1.1 背景与发展 HTML5 的拖拽 API 是为了解决传统拖拽操作复杂而设计的。传统方法依赖鼠标事件和复杂的逻辑计算&#xff0c;而 HTML5 提供了标准化的拖拽事件和数据传递机制&#xff0c;使得开发者能够快速实现从一个元素拖拽到另一个元素的交互…

3D 生成重建017-StyleGaussian用文本或图像对你的3DGS内容进行风格迁移

3D 生成重建017-StyleGaussian用文本或图像对你的3DGS内容进行风格迁移 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 论文 “StyleGaussian: Instant 3D Style Transfer with Gaussian Splatting” 介绍了一种新颖的3D风格迁移方法 StyleGaussian&#xff0c;该方法通…

如何查看电脑的屏幕刷新率?

1、按一下键盘的 win i 键&#xff0c;打开如下界面&#xff0c;选择【系统】&#xff1a; 2、选择【屏幕】-【高级显示设置】 如下位置&#xff0c;显示屏幕的刷新率&#xff1a;60Hz 如果可以更改&#xff0c;则选择更高的刷新率&#xff0c;有助于电脑使用起来界面更加流…

【JVM】JVM基础教程(一)

目录 初识JVM JVM是什么&#xff1f; JVM的功能 解释、即时编译和运行 内存管理 常见的JVM JVM虚拟机规范 HotSpot的发展历程 JVM的组成 字节码文件详解 应用场景 以正确姿势打开字节码文件 ​编辑字节码文件的组成 基本信息 Magic魔数 主副版本号 常量池 接口…

Neo4j (desktop) 使用记录

1. neo4j community 使用 第一次使用Neo4j&#xff0c;根据网上的教程安装并配置了community版本&#xff0c; 在终端使用 neo4j.bat console 可以正常打开网页端 但是&#xff0c; 使用 neo4j start , neo4j stop 时会提示 ‘neo4j’ 时非法指令&#xff0c;无法识别 查明原…

2024年认证杯SPSSPRO杯数学建模C题(第一阶段)云中的海盐解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 C题 云中的海盐 原题再现&#xff1a; 巴黎气候协定提出的目标是&#xff1a;在2100年前&#xff0c;把全球平均气温相对于工业革命以前的气温升幅控制在不超过2摄氏度的水平&#xff0c;并为1.5摄氏度而努力。但事实上&#xff0c;许多之前的…

【Mac】安装Gradle

1、说明 Gradle 运行依赖 JVM&#xff0c;需要先安装JDK&#xff0c;Gradle 与 JDK的版本对应参见&#xff1a;Java Compatibility IDEA的版本也是有要求Gradle版本的&#xff0c;二者版本对应关系参见&#xff1a;Third-Party Software and Licenses 本次 Gradle 安装版本为…