最近系统的学习Linux知识,看到目录权限的知识点时有点恍然大悟,顿感醍醐灌顶,另外还有些许的汗颜。

在说Linux目录权限之前,我先简要梳理下Linux文件的权限。

文件权限有10列,第1位代表这个文件是“目录,文件或链接文件等”,[-] 代表文件 [d]代表目录,第2到第4位表示此文件的拥有者权限,第5到7位表示组拥有的权限,最后三位表示其他用户拥有的权限,每组身份的权限都是3位 rwx (读,写,执行)且位置不变,若不具备某一个权限,使用 - 占位。  Linux文件的权限对于没有系统学习过Linux的工程师来说也是基本一看便懂得的,文件可读取,可写入,可执行,对于一个菜鸟级写高级语言的工程师来说也是太易理解了。但也许就是简单,对于文件夹的权限大多数并不会再去理解,觉得和文件应该会没什么区别,因为这并不影响写代码,如果在自己本地或测试环境执行程序遇到文件夹权限问题,工程师们都信心满满地输入chown -R nobody:nobody wenjianjia   chmod -R 777 wenjianjia 一切问题都解决了。大概就是这样把目录权限的理解给忽略掉了。

上面也提到了,文件权限的第一位为[d]时表示目录,接着后9位与文件是一样的,表示目录每组身份的权限,关键点就在于此权限的理解,一定要与文件权限的理解区别开。对于文件的权限的理解上面也说了,大多数人都会认为是简单的,主要是因为与我们大众主观上的理解是一致的。因为文件里存储的是数据,但目录里存储的是一个一个的文件,其实际上目录主要的内容是文件名列表。下面具体来看看目录中各权限意义。

r 可读,对文件来说文件是可读的,比如读取文本文件里的文字内容;对于目录来说可读,表示可读取目录结构列表,即读取文件名列表,所以如果目录具有r 可读权限,使用ls 可列出目录下的文件名。这里跟大众主观上的读取有所出入了。

w可写,对于文件来说文件可添加,可修改,可删除文件中的数据;对于目录来说,具有可写权限就大,只要是与文件名相关的操作,比如添加文件或目录,删除文件或目录,重命名或移动文件或目录等都是目录的可写权限。

x可执行,对于文件来说可执行代表此文件具有被系统执行的权限;对于目录来说可执行代表的是用户能否进入该目录,即是否可以使用cd命令进入此目录。这个理解就以主观上的可执行相差太多了,必须另外记忆了。

所以根据上面对文件目录权限的总结,若用户对某目录具有r权限,但不具备x权限,是不能进入此目录的,不能进入此目录就意味着更不能读取目录里面文件的具体内容就算此用户有此文件的权限,但因为有r权限,所以能查看此目录下有哪些文件。

请看下面练习:

当前账户为vagrant ,testuser目录权限为drwx------,当vagrant用户试图进入testuser目录,提示cannot open directory testuser:Permission denied 即没有权限 ,

testuser1目录权限为drwx---r--,当试图进入testuser1,提示ls: cannot access testuser1/file1.log: Permission denied,虽然还是提示没有权限,但与上面提示不一致,请注意看,且在提示后列出了file1.log ,即列出了目录中的文件名,目录的r权限就到此为止,它只能列出文件名。即使vagrant用户有能查看file1.log的权限,但由于vagrant用户对testuser1目录只有 r  读权限所以是无法查看file1.log的内容。

testuser2目录的权限为drwx---r-x,通过cd命令能更直观的了解目录的 x 权限,只有当用户具有某个目录的x权限,才能通过cd命令进入此目录,把当前目录当成工作目录。

testuser3的权限drwx---rwx,通过touch 命令在工作目录中创建新文件体现了目录的w权限,vagrant用户虽然对testuser2目录拥有r 读与 x 执行(即可进入此目录中)权限,进入目录后也可以查看file1.log的内容(因为有file1.log的[r]权限),但由于对testuser2不具备w写权限,所以无法创建文件;而用户对testuser3目录具有[w]权限所以可以进行touch命令创建文件。

总结:Linux操作系统中任何一个文件(文本文件,目录等)都具有,用户、组、其他3种身份的个别权限。对目录权限的认识不能与文件权限混为一谈,目录的[r]权限表示可以列出目录中的文件名列表,[w]权限表示可以在目录中添加文件,修改文件名,移动文件,删除文件等,记住只要与文件名变动相关的操作都需要有w权限,[x] 执行权限表示用户是否能进入此目录。

linux目录权限都是nobody,你真的了解Linux的目录权限?相关推荐

  1. linux buffer cache 过高_你真的理解Linux的内存监控吗?

    如果你平时工作使用Windows系统,对Windows的内存监控应该不陌生,在"任务管理器"中显示90%的内存占用,这些内存就全部由进程占用了,如果这时产生了新的进程,没有内存可用 ...

  2. linux怎么每次都要手动启动网卡驱动,Linux系统如何快速安装网卡驱动_Shell script即可解决 - 驱动管家...

    Linux系统内核在升级的时候,网卡驱动就要重新安装一次,那么有什么简单的方法进行网卡驱动的安装呢?下面小编就给大家介绍下Linux使用Shellscript安装网卡驱动的方法,一起来了解下吧. ## ...

  3. linux所有用户都无法登录,记一次Linux用户无法登陆问题

    给客户新建了一台虚拟机,用户生产,之前都是redhat6.8,此次使用的是Centos7.6,N天之后告之用户无法登陆,/var/log/secure日志内报: error: do_exec_no_p ...

  4. android 重置偏好设置密码,android – 按下“重置应用偏好设置”后,我的应用的所有权限都被撤消...

    我开发了一个应用程序并支持Android 6.0.当我在"设置"中重置应用偏好设置时 – >应用 – >重置应用偏好设置,我的应用的所有权限都被撤消,应用不会重新启动. ...

  5. 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置

    第六章.Linux的文件权限与目录配置 最近更新日期:2009/08/18 Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要 ...

  6. linux目录都是什么意思,linux中的基本的目录结构都是什么意思,初学者都应该有印象-tmp是什么文件...

    /bin 这个目录存放一些经常使用的命令 /boot 这个目录存放的是启动linux时使用的一些核心文件,包括一些连接文件和镜像文件 /dev 这个目录是存放linux的外部设备,在linux中访问设 ...

  7. linux acl 权限 给任何用户或用户组设置任何文件/目录的访问权限

    ACL 是什么 ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表.它在UGO权限管理的基础上为文件系统提供一个额外的.更灵活的权限管理机制. ...

  8. oracle杀死进程时权限不足_当集群和数据库软件目录都被chown -R时,如何快速修复...

    甲:快快快上来看下数据库重启起不来了! 我:大哥,大白天的重启数据库! 甲:不是说导数据嘛,报权限不足,按网上的步骤改了权限,然后重启数据库 我:啥权限?!!命令是? 甲:chown -R oracl ...

  9. [详解]Linux的目录里都装些啥??

    搞电脑的人总想知道自己的系统里到底有些什么东西,于是我就在Linux的根目录下运行ls -l(列目录命令),哇,一大串,这许多目录都放些什么呢?我硬着头皮往里钻,功夫不负有心人,终于将这迷宫的秘密揭开 ...

最新文章

  1. javascript 基础篇2 数据类型,语句,函数
  2. 学python最好的方式-你们都是怎么学 Python 的?
  3. 计算机与计算科学是属什么专业,被录取到信息与计算科学专业,这个专业什么性质,发展前景如何?...
  4. Xcode 7中Static Cells自动计算高度失效的解决方法
  5. why wearing masks?
  6. Spark入门(六)Spark SQL shell启动方式(元数据存储在mysql)
  7. 【elasticsearch 】logstash elasticsearch output plugin 的阻塞问题
  8. JS:ES6-2 const 关键字
  9. div+css格式规范
  10. 原生JS实现图片懒加载之一:Element.getBoundingClientRect()
  11. spring创建定时任务
  12. 如何找python 包的位置
  13. 图形化开发(九)01-Three.js之案例——王者荣耀demo制作
  14. [AcWing] 1017. 怪盗基德的滑翔翼(C++实现)最长上升子序列模型
  15. python电子表格类_python合并同类型excel表格的方法
  16. Python 练习实例2
  17. 计算机右键无法新建excel,右键新建中没有excel怎么删除_右键新建中没有excel怎么办...
  18. 使用BL0942 计量芯片获取计量数据
  19. 机器学习-雅可比式与多元高斯分布
  20. 高德地图画带箭头的线_带插头矿用拉力电缆驻当涂县销售处

热门文章

  1. android asynctask异步处理抓取网页,Android处理异步耗时任务,AsyncTask使用教程
  2. [转载]十六进制数的两种不同表示:0x和H
  3. MATLAB的iamgeLabeler制作语义分割标签及路径修改
  4. matlab钢琴键位do编程,按下钢琴一个键,程序如何识别出是哪个键
  5. Echarts图表legend过多被遮挡
  6. Java 的最佳实践
  7. OpenCV系列之直方图4:直方图反投影 | 二十九
  8. 多边形建模和雕刻建模、C4D和Zbrush
  9. ubuntu18.04有道词典无法开(亲测有效)
  10. 浏览器打开网站提示此站点不安全解决方案