`

Linux文件权限学习总结

阅读更多

 

文章来源:http://www.examda.com/linux/fudao/20100707/094403862-1.html


一、用户对文件或目录都有哪些权限?

  四种:读、写、执行、没有权限

二、如何表示这四种权限?

  如果用十进制数字表示,分别为:4、2、1、0;如果用字符表示,分别为:r、w、x、-。个人觉得,使用chmod命令更改文件或目录权限时,数字表示法显然比字符表示法简洁明快

三、对于文件和目录而言,这四种权限是否具有同样的含义?

  并非如此,如下所示:

  ---------------------------------------------------------------------------

  普通文件 目录

  r:用户拥有读取该文件内容的权限 用户拥有列出其中文件列表的权限

  w:用户拥有修改该文件内容的权限 用户拥有在其中创建、删除文件的权限

  x:用户拥有执行该文件的权限 用户拥有进入该目录、复制其中文件的权限

  ----------------------------------------------------------------------------

  对目录的这些各个单项权限的操作,我都有一一试验,详细结果贴在了文末,图片就不再贴出。需要提醒的是:

  1、拥有某项权限,并不意味着就一定能够对文件或目录做相应的操作。

  2、普通文件拥有r、w、x权限或它们权限的组合,针对的是文件内容,与文件本身的操作无关。若想对文件本身进行删除、移动等操作,需要其上层目录的权限,下面会讲到。

四、为什么要同时设定三组用户的权限?

  这是因为linux里文件或目录的权限是和用户管理联系在一起的。我们设定文件的权限时,除了设定属主的权限,还要设定属主同组用户的权限,以及其它用户的权限。关于Linux用户管理,请自行搜索相关资料。

 

五、为什么很多文件或目录的权限都是一个权限组合?

  前面讲到,拥有某项权限并不意味着一定能够完成相应操作,原因之一就是:单一权限无法保证我们完成相应的操作,所以设定文件或目录权限时,通常使用权限的组合,这对目录的权限设定尤其重要。例如,从道理上讲,如果目录拥有w权限,我们就可以在其中新建、删除文件,但从实际的操作结果来看,这些操作无法完成,只有当目录同时拥有了x权限时,才可以进行上述的操作。-wx权限,即是一个权限组合,对目录而言,表示用户可以在其中创建、删除文件;再如常用的r-x组合:对目录来说,表示用户可以列出目录内容,复制其中的文件。可以讲,没有x权限的配合,目录的w权限就是一句空话,没有x权限的配合,就无法对目录中的内容进行任何操作,至于对目录本身的操作,由其上层目录的权限决定。能理解吧?不能进入目录的话,何谈对目录中文件进行操作呢?!

  目录拥有权限组合rw-、r-x、-wx时,我们能对其中的文件或子目录作哪些操作呢?大家可以先猜测一下,然后动手试验一下,看看自己的猜测是否正确。rwx权限就不用考虑了,基本上是完全权限,当然,特殊权限除外。

六、文件或目录的权限受哪些方面的影响?

  拥有某项权限并不意味着一定能够进行相应操作,并不仅仅是因为需要权限的组合,有时候就会出现这种情况:我们正确设置了文件或目录的权限组合,却仍然不能对它们进行相应的操作。这是因为,能否对文件或目录进行各种操作不但取决于文件自身的权限,还要受到其上层目录的权限的影响。本文的第三、第五部分都已经提到了这一点。要牢记它,这非常重要!

  先来看文件的操作,包括两部分:对文件本身的操作,以及对文件内容的操作。

  对文件本身的操作,一般是移动、复制、删除、重命名,这些所有的操作都是由其上层目录的权限决定的。能否理解?文件是目录中的文件,我们知道,linux把目录也看成一个文件,那么目录里的所有东西都可看成文件的内容,因此,目录的权限决定了目录中的文件的操作,这主要是指对文件本身的操作,对文件内容的操作,还需要文件自身权限的配合。

  用户lqs的家目录里有一个目录000,其中有一个文件a.txt。家目录lqs已经设置了权限705,目录000权限设定为703,其中的 a.txt文件权限设定为700。如图所示,其它用户normal成功地删除了文件a.txt,尽管文件的权限只是700!这是因为文件的删除等操作是由上层目录的权限决定的,而文件的上层目录000的权限为703,它赋予了其它用户在其中添加、删除文件的权限。

  因此我们得出结论,能否对目录中的文件本身进行移动、删除、重命名等操作,取决于其上层目录的权限。这里的文件,不但指普通文件,还包括目录文件,即目录的子目录。

  对文件内容的操作,一般是指修改文件内容。对文件内容进行操作,首先其目录要有x权限,然后文件要有w权限。

对目录里的子目录的操作,与目录里文件的操作原理一致,但相应权限与前面讲到的目录操作的权限一致。这里不再一一列举。记住,要多用用chmod命令,这些东西你自然会知道。

七、特殊权限

  linux里有一些特殊权限,比如s,它们需要4位十进制数字来表示。这里不谈,有兴趣可以自行了解一下。

  附录:

  一、权限字符表示是如何变成数字表示的?

  使用ls –l命令显示文件属性的长格式时,第一个字段就是用来表示文件的种类和权限的,该字段最常见的值为-rwxr-xr-x。一共有10个字符,第一位表示文件类型,后面九位表示文件权限,这9位字符可分成3组,分别表示文件属主的权限,属主同组用户的权限,和其它用户的权限。

  rwxr-xr-x表示文件属主具有读、写、执行的全部权限,属主同组用户具有可读权限,其它用户具有可读权限,用十进制数字表示,就是755。

  那么,755是怎么来的?

  要得出这个十进制数字,需要先把rwxr-xr-x转换成二进制。把它们用二进制数字表示的话,有某项权限即为1,没有为0,那么rwxr-xr-x的二进制表示为111 101 101。

  再把111 101 101这三组二进制数字分别转换成十进制。转换算法还记得吗?从右到左,各位上的数字依次乘以2的n次方(n的取值从0开始)。如下所示:

  第一组:1x20 + 1x21 +1x22 = 7

  第二组:1x20 + 0x21 +1x22 = 5

  第三组:1x20 + 0x21 +1x22 = 5

  三组数字组合起来,即为755。

  其实不用每次都把每一个字符转换成二进制,再转换成十进制,没这么麻烦。因为我们可以算出:可读权限用十进制数字表示为4,可写权限表示为2,可执行权限表示为1,没有权限表示为0,记住它们就不必每次全部转来转去了。

  先来看可读权限r--,它的二进制表示为100,把它转换成十进制:0x20 + 0x21 +1x22 = 4

  再来看可写权限-w-,它的二进制表示为010,把它转换成十进制:0x20 + 1x21 +0x22 = 2

  最后看可执行权限--x,它的二进制表示为001,把它转换成十进制:1x20 + 0x21 +0x22 = 1

  二、各个权限具体的操作试验结果如下:

  目录的可读权限:可列出目录里的文件,不可重命名、复制、移动、删除其中的文件,不可进入目录

  目录的可写权限:不可列出目录里的文件,不可重命名、复制、移动、删除其中的文件,不可进入目录

  目录的可执行权限:不可列出目录里的文件,不可重命名、移动、删除其中的文件,可复制其中的文件,可进入目录。

 

分享到:
评论

相关推荐

    Linux 文件权限总结

     但不要以为理解文件权限需要长时间的学习。事实上会很简单,让我们一起来看看你需要了解哪些内容以及如何使用它们。  基础概念  你要明白的第一件事是文件权限可以用来干什么。当你设置一个分组的权发生了...

    Linux学习笔记(强悍总结值得一看)_linux_linux学习笔记_

    Linux学习笔记包含LINUX常用命令、磁盘管理、用户管理、文件权限、目录结构、软件安装等内容,适用于Linux初学者学习以及高水平者查遗补漏

    Linux操作系统基础教程.pdf

    小白课,总结得很好、很容易看懂,看完一遍你就入门了! 讲得都是精华,IT大佬当年... Linux 文件权限与目录权限:chmod chown bash、shell 查找、比较、统计、甄别文件:grep find tee等 makefile ssh、samba、 gcc

    Linux最佳入门-个人学习笔记-知识点总结.rar

    这是个人10年前的Linux Ubuntu学习笔记,之后查笔记时,都会补充新知识,也有纠错,涵盖了10个PDF文件,由有道笔记导出,非常适合初学者。这些PDF文件包含了丰富的知识和实用技巧,能够帮助您更好地掌握Linux Ubuntu...

    Linux学习笔记(强悍总结值得一看)

    Linux学习笔记(强悍总结值得一看) 一、常用命令LINUX常用操作命令和命令行编辑快捷键二、磁盘管理三、 用户管理四、 文件权限五、 目录结构六、 软件安装七、时间管理八、 启动引导九、 运行级别十、 进程管理十一...

    linux语句总结+注释

    从最基础的linux语句开始,创建,删除,重命名,和对文档、文件权限的理解和解释等等等等更好的加快学习,最后还有有安装数据库和配置jdk的操纵。

    边干边学Linux__第二版_doc格式

    第3章 Linux文件系统操作 3.1 文件类型 3.2 文件系统目录结构 3.3 目录操作的基本命令 3.4 文件操作的基本命令 3.5 显示字符串echo 3.6 命令行中使用扩展符 第4章 文件权限与文件共享 4.1 存取权限 4.2 改变文件的...

    RED HAT LINUX 6大全

    本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...

    Linux相关基础知识培训.pptx

    原创Linux基础知识培训,面向零基础受众,讲解文件系统、用户权限、进程等基础知识,讲解如何使用VMware Workstation安装Linux,以及相应的Linux基础命令与操作,最后总结了Linux的学习方法与推荐书籍。

    Linux命令学习总结之rm命令

    rm命令用来删除Linux系统中的文件或目录。通常情况下rm不会删除目录,你必须通过指定参数-r或-R来删除目录。另外rm通常可以将该文件或目录恢复(注意,rm删除文件其实只是将指向数据块的索引点(information nodes)...

    Linux程序设计 第4版.haozip01

    3.1 linux文件结构 78 3.1.1 目录 79 3.1.2 文件和设备 79 3.2 系统调用和设备驱动程序 80 3.3 库函数 81 3.4 底层文件访问 82 3.4.1 write系统调用 82 3.4.2 read系统调用 83 3.4.3 open系统调用 84 3.4.4...

    Linux程序设计 第4版.haozip02

    3.1 linux文件结构 78 3.1.1 目录 79 3.1.2 文件和设备 79 3.2 系统调用和设备驱动程序 80 3.3 库函数 81 3.4 底层文件访问 82 3.4.1 write系统调用 82 3.4.2 read系统调用 83 3.4.3 open系统调用 84 3.4.4...

    linux一键安装部署redis高可用服务及管理(详细代码)

    (当然也可以在本资源的基础上修改成更适合自己的工具) 运行该工具大致分两步: 1:下载该工具放到自己linux服务器上,并 执行 chmod 7000 redis-helper.alves 命令给该工具文件可执行的权限。 2:./redis-helper....

    Linux必学的60个命令

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux...

    文件系统与Linux相关知识点

    对于服务器开发人员,比较关注的是unix(linux)环境下的文件系统,比如分区与磁盘关系,磁盘的剩余空间,文件的类型与权限控制,文件链接等相关知识。文章内容来自笔者学习清华大学和UCSD的操作系统课程的笔记和...

    Linux.xmind

    主要包含Linux操作系统安装、文件和目录、用户和组管理、权限管理等内容的知识总结和操作命令详解,在日常的知识点复习中还是很方便的,但是不适合刚学习linux的初学者。

    一键安装部署redis高可用服务

    (当然也可以在本资源的基础上修改成更适合自己的工具) 运行该工具大致分两步: 1:下载该工具放到自己linux服务器上,并 执行 chmod 7000 redis-helper.alves 命令给该工具文件可执行的权限。 2:./redis-helper....

    Android自主学习项目报告(一).doc

    解决方案:不要在让transactions在其他的Activity生命周期函数提交,如onActivi tyResult()、onStart()和onResume() 自己在学习过程中总结的知识点 (3)Android体系结构和Android项目目录 Android是基于Linux内核...

Global site tag (gtag.js) - Google Analytics