Linux目录读写和可执行权限

2023-10-29

一 . 进入目录权限
如果我在普通用户下创建了一个目录f1,然后使用chomd u-rwx,g-rwx,o-rwx之后,我在普通用户下想进入f1目录,权限不允许。
然后我切换到超级用户下,再次尝试进入到f1目录,这个时候允许进入。
然后回到普通用户下,只给f1的所有者读的权限,然后在普通用户下尝试进入,此时权限还是不允许,然后切换到超级用户下,通过cd进入目录,这个时候是可以的
接着我们回到普通用户下,然后只给问f1文件所有者写的权限,chmod u-r,u+w f1,然后在普通用户下进入到f1,此时权限还是不允许,然后切换到超级用户下,此时还是可以进入
接下来我们回到普通用户,然后只给文件所有者可执行权限,然后在普通用户下再次进入发现这次可以进入,但是超级用户依旧可以
此时我们去掉用户的可执行权限,给f1用户的读和写权限,发现依旧不行,我们通过这种方式一次给组还有其他用户相应的权限,发现我们只有给用户可执行的权限我们才可以通过cd命令进入到这个目录。
我们尝试在超级用户下创建一个目录,然后我切换到普通下,想要改变目录f2的权限,发现是没有权限的
如果我进入超级用户下,再次修改目录的权限发现这个时候可以了。我把目录f2的rwx权限均取消了,发现这个时候超级用户还是可以进入,但是我们的普通用户就不可以进入了。
然后我给了所有者可执行权限,然后切换到哦普通用户,发现依旧不可以进入
然后我给了f2其他人的可执行权限,然后在普通用户下进入,发现这个时候可以进入了
综上:我们得出结论
对于超级用户,不管一个目录是在什么用户下创建的,不管他的权限是什么,超级用户都可以进入到一个目录
对于普通目录,如果目录是在普通用户下创建的,那么只有当目录对于用户的可执行权限是打开的,普通用户才可以进入。如果该目录是在超级用户下创建的,即是该目录的所有者时超级用户,只有当该目录对于其他人的权限是可执行的,普通用户才可以进入。
二. 目录下面创建目录,和查看目录内容
此时我给f1所有用户可执行权限,但是没有其他权限,然后我进入到f1目录,查看ls,然后创建目录mkdir f,发现都没有权限
然后我进入到超级用户,发现可以读写
接着我切换到普通用户下,给了文件所有者读的权限,发现可以查看目录下的内容了
然后我又给了用户所有者写的权限,这个时候,我可以在目录下创建新的目录了
三. 全文总结:
如果我们在超级用户下,不管目录的权限如何,不管目录的文件所有者是谁,我们都可以执行目录的所有读写执行权限
如果我们在普通用户下,如果该文件是普通用户创建的,即是目录的文件所有者是普通用户,那么我们给文件所有者读的权限,我们可以查看目录内容,如果我们给文件所有者可执行权限,那么我们可以进入目录,如果我们给文件所有者读的权限,我们可以查看目录下面的文件内容。
如果我们在普通用户下,并且该目录的问文件所有者是超级用户,只有在超级用户下更改目录的权限,并且更改的是该目录对应的其他人的读写和执行权限的时候,我们才可以执行相应的操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux目录读写和可执行权限 的相关文章

  • 通过 Visual Studio 2017 使用远程调试时 Linux 控制台输出在哪里?

    我的Visual Studio 2017 VS2017 成功连接Linux系统 代码如下 include
  • 如何在 Ubuntu 中创建公共 HTML 文件夹?

    简单的问题 但由于某种原因我无法在谷歌上找到确切的答案 我在 Slicehost 上安装了全新的 Ubuntu 并且想在我的主目录中为包含一堆静态 HTML 文件的简单网站创建一个公共目录 我该怎么做呢 只是打字的问题吗mkdir publ
  • 从 ttyUSB0 写入和读取,无法得到响应

    我对 Linux tty 不太有经验 我的环境是带有丰富 USB 串行的 Raspbian 什么有效 stty F dev ttyUSB0 38400 cu l dev ttyUSB0 s 38400 cu to dev ttyUSB0作品
  • 如何根据标签将单个 XML 文件拆分为多个

    我有一个带有标签的 XML 文件 我想像这样分割文件
  • 使用循环在 C 中管道传输两个或多个 shell 命令

    我正在尝试执行ls wc l通过 C 语言程序 而不是使用命令行 这是我当前的工作代码 int main int pfds 2 pipe pfds pid t pid fork if pid 0 The child process clos
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 与 pthread 的进程间互斥

    我想使用一个互斥体 它将用于同步对两个不同进程共享的内存中驻留的某些变量的访问 我怎样才能做到这一点 执行该操作的代码示例将非常感激 以下示例演示了 Pthread 进程间互斥体的创建 使用和销毁 将示例推广到多个进程作为读者的练习 inc
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 在生产服务器上使用 Subversion 使文件生效的最佳方法是什么?

    目前我已经设置了 subversion 这样当我在 Eclipse PDT 中进行更改时 我可以提交更改 它们将保存在 home administrator 中项目文件 该文件具有 subversion 推荐的 branches tags
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 我什么时候应该编写 Linux 内核模块?

    有些人出于某种原因想要将 Linux 中的代码从用户空间移动到内核空间 很多时候 原因似乎是代码应该具有特别高的优先级 或者只是 内核空间更快 这对我来说似乎很奇怪 我什么时候应该考虑编写内核模块 有一套标准吗 我怎样才能激励将代码保存在
  • cdc_acm:无法设置 dtr/rts - 无法与 USB cdc 设备通信

    我试图使用 pic24fj128gb206 枚举 usb cdc 设备 设备似乎已正确枚举 但是当我将设备连接到 Linux PC 时 我从内核收到以下警告消息 cdc acm 1 8 1 6 7 1 0 failed to set dtr
  • 如何让 Node.js 作为后台进程运行并且永不死掉?

    我通过 putty SSH 连接到 linux 服务器 我尝试将其作为后台进程运行 如下所示 node server js 然而 2 5 小时后 终端变得不活动 进程终止 即使终端断开连接 我是否也可以使进程保持活动状态 Edit 1 事实
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • express.js api 应用程序中的内存泄漏

    我正在运行一个express js应用程序 它用作REST API 一个端点启动 puppeteer 并使用多个过程测试我的网站 启动应用程序并持续消耗端点后 我的 docker 容器每小时都会耗尽内存 如下所示 首先 我认为我的 pupp
  • 如何wget目录中最新的文件

    我想编写一个 bash 脚本来下载并安装最新的每日构建程序 RStudio 是否有可能使wget仅下载目录中最新的文件http www rstudio org download daily desktop http www rstudio
  • 使用awk将列中的值替换为txt文件中的另一个值

    我是 Linux 和 awk 脚本编写的新手 我有 tab delim txt 文件 如下所示 AAA 134 145 Sat 150 167 AAA 156 167 Sat 150 167 AAA 175 187 Sat 150 167
  • 为 OpenWrt 编写和编译程序

    我有一个在 OpenWRT 下运行的具有 MIPS 架构的嵌入式设备 系统类型 MediaTek MT7628AN ver 1 eco 2机器 WRTnode2P 处理器 0CPU型号 MIPS 24KEc V5 5 我想通过我的电脑 ub
  • 从核心转储中获取堆栈跟踪

    如何从核心转储文件中获取堆栈跟踪 该文件大约 14 mb 是在我的应用程序退出并显示 分段错误 后生成的 我使用的是红帽 5 5 gdb usr bin myapp binary corefile 然后 使用以下之一 gdb bt gdb

随机推荐

  • Spring Cloud的负载均衡Spring Cloud Ribbon和Spring Cloud Feign

    一 客户端负载均衡 Spring Cloud Ribbon Spring Cloud Ribbon是基于HTTP和TCP的客户端负载工具 它是基于Netflix Ribbon实现的 通过Spring Cloud的封装 可以轻松地将面向服务的
  • 如何看懂源代码--(分析源代码方法)

    由于今日计划着要看Struts 开源框架的源代码 昨天看了一个小时稍微有点头绪 可是这个速度本人表示非常不满意 先去找了下资料 觉得不错 摘自 繁体中文Traditional Chinese http www ithome com tw i
  • HT for Web (Hightopo) 使用心得(7)- 3D场景环境配置(阴影,灯光,环境光)

    在文章 Graph3dView 环境配置 天空球 雾化 辉光 景深 中 我们介绍了在 3D 场景中的一些环境配置 包括天空球 雾化 辉光 景深等 本篇文章我们继续补充其他的环境参数 阴影 灯光 环境光 由于本人缺乏艺术细胞 文章中配置的环境
  • vue 实现抽奖大转盘

    实际解决需求 前端只是负责页面转动 在用户点击时 请求中奖接口 同同时通过设置css属性 让转盘转动起来 当转盘转动结束后 根据请求后端接口回来的中奖信息 设置转盘的转动位置 然后进行弹窗显示中奖信息 在此时 注意要重置转盘的转动角度为初始
  • python组成结构_[Python入门学习]-Python项目的组织结构

    一 工程结构 二 编码规范 1 命名规范 包 使用小写字母命名 如果有多个单词 则用下划线分隔 正确的命名方式 lower with under 模块 使用小写字母命名 如果有多个单词 则用下划线分隔 正确的命名方式 lower with
  • Notepad++ 下载

    1 输入下载网址 https notepad plus plus org 2 点击download 3 开始下载安装包 下载好双击下面 跟着向导完成 在此处点击需要创建快捷方式 然后点安装 完成安装的效果
  • 排序算法系列1--简单排序(选择,冒泡,直接插入,希尔排序)

    排序是数据处理中十分常见的操作 现代高级语言都有现成的n种排序算法 但了解它们的代码 对计算机思维有帮助 简单选择排序 每一趟从待排序的数据元素中选择最小 或最大 的一个元素作为首元素 直到所有元素排完为止 简单选择排序是不稳定排序 无论数
  • Mysql数据库迁移:善用Navicat工具,事半功倍

    数据库迁移 在说到数据库迁移方面 像很多开发工作一样 简单有简单的做法 复杂有复杂的做法 就看怎么做了 那么什么样子的数据库迁移方式才是最优的 在这里是没有准确的定义的 但是我这边分享一个比较简单而言的数据库迁移方案 一 迁移方案描述 例如
  • Linux 别名的设置与修改

    装了个 Ubuntu 在终端下 输入 ll 将全部文件显示出来了 由于平时工作中使用的 suse 系统下 输入 ll 时是不会显示隐藏文件的 文件名前面带 的文件 而且一般很少使用隐藏文件 习惯问题 不希望它显示隐藏文件 打算改改 在终端下
  • STM32-基本知识梳理8-FATFS文件系统移植

    一 基本概念 1 为什么需要文件系统 在没有文件系统的存储器中 一般通过手工记录 那些变量存放在那些位置 很难有系统的管理 难以记录有效数据的位置 难以确定存储介质的剩余空间 不明确应以何种格式来解读数据 加入文件系统后 就可以引导区 目录
  • 运输层 :UDP用户数据报协议

    1 相关概念 UDP数据包产生 上层应用产生数据 但是这与真正发送的IP数据报数量并没有什么联系 并且UDP报文并不是一种可靠的协议 我们必须关注IP数据报的长度 如果超过MTU 在链路层的一种限制 则应该进行分片 2UDP报文 16位源端
  • c++ new与delete与qt内存回收机制

    在c primer中读到 new 是在堆里面申请一段内存资源 new必须与delete成对使用 否则就会造成内存泄漏 可最近学qt 我经常可以看见只new而不delete的情况 是不是这样就内存溢出了 非也 百度了一下qt的内存管理机制 才
  • Qt使用数组实现控件批处理

    Qt使用数组实现控件批处理 在Qt中 当你需要对多个控件进行批处理操作时 使用控件数组会大大简化你的代码量 例如希望在一个页面中创建一个控件数组 其中包含8条控件集合 控件数组的定义如下 QCheckBox checkbox 8 QLabe
  • 微机原理课堂练习五

    练习五 定时计数器 和A D D A转换 一 选择题 在下列每小题的四个备选答案中选出一个正确的答案 并将其字母标号填入括号内 24分 1 某一测控系统要用一脉冲信号产生单稳信号 如果使用8253可编程定时 计数器来实现此功能 则8253应
  • Ubuntu16.04 搭建Android源码的git+gitosis+repo代码管理的服务器

    一份源码 要让团队里的人能够轻松地拉取 以下是我的搭建过程 1 关于源码及相关编译环境参考我之前的一篇博文https blog csdn net qq 28449863 article details 79978937 2 简单做个描述 所
  • 2分钟学会Python绘制蟒蛇!

    目录 一 Python蟒蛇绘制 问题分析 1 1 Python蟒蛇绘制 二 Python蟒蛇绘制 实例编写 三 运行效果 3 1 程序关键 四 Python蟒蛇绘制 举一反三 4 1 Python语法元素理解 4 2 程序参数的改变 4 3
  • 吐槽大会,来瞧瞧资深老前端写的垃圾代码

    忍无可忍 不吐不快 本期不写技术文章 单纯来吐槽下公司项目里的奇葩代码 还都是一些资深老前端写的 希望各位对号入座 知道了什么是烂代码 才能写出好代码 别说什么代码和人有一个能跑就行的话 玩笑归玩笑 人都有菜的时候 写出垃圾代码无可厚非 但
  • 面试时,被问到频繁跳槽该如何回应?

    有数据显示 现在的职场人 跳槽越来越频繁 95后平均7个月就离职 对于面试官来说 一个跳槽过于频繁的人总是存在潜在风险 比如抗压力差 稳定性不好 心不定这山望着那山高 职业规划不清晰等等 我一直强调一个观点 职场人跳槽 应该是为了下一步有更
  • 十八、部署 Vue.js 项目到生产环境

    本章概要 构建发布版本 部署 项目开发完毕并测试后 就要准备构建发布版本 部署到生产环境 18 1 构建发布版本 在构建发布版本前 注意将项目代码中用于调试的 alert debugger console log 等语句删除或注释 在生产环
  • Linux目录读写和可执行权限

    一 进入目录权限 如果我在普通用户下创建了一个目录f1 然后使用chomd u rwx g rwx o rwx之后 我在普通用户下想进入f1目录 权限不允许 然后我切换到超级用户下 再次尝试进入到f1目录 这个时候允许进入 然后回到普通用户