Linux文件权限学习总结
一、用户对文件或目录都有哪些权限?
四种:读、写、执行、没有权限
二、如何表示这四种权限?
如果用十进制数字表示,分别为: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
二、各个权限具体的操作试验结果如下:
目录的可读权限:可列出目录里的文件,不可重命名、复制、移动、删除其中的文件,不可进入目录
目录的可写权限:不可列出目录里的文件,不可重命名、复制、移动、删除其中的文件,不可进入目录
目录的可执行权限:不可列出目录里的文件,不可重命名、移动、删除其中的文件,可复制其中的文件,可进入目录。
文章出处:http://www.examda.com/linux/fudao/20100707/094403862-1.html
Linux文件权限学习总结的更多相关文章
- Linux文件权限学习笔记
文件权限共10个字符,第一个字符表示该文件是[文件夹]或[文件]——如果是字符“d"则表示该文件是文件夹:如果是字符“-”则表示是文件. 后九个字符,三个一组,共三组,分别表示[所有者权限] ...
- Linux 文件权限总结
在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就 ...
- 修改linux文件权限
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...
- Linux:文件权限
Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...
- Linux&shell 之Linux文件权限
写在前面:案例.常用.归类.解释说明.(By Jim) Linux文件权限用户useradd test (添加用户test)userdel test (删除用户test)passwd test(修改用 ...
- linux文件权限整理
网上对linux文件权限的已经很多,不过还是要自己整理一下,不然每次都要查资料. linux下所有东西都是文件,包括设备,所以这里的文件也包括文件夹. 先是查看文件权限:ls -lh xzc@xzc- ...
- 修改linux文件权限命令:chmod 【转载】
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. chmod 命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod ...
- linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)
文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...
- Linux 文件权限于目录配置
用户与用户组 我們以王三毛為例,王三毛這個『檔案』的擁有者為王三毛,他屬於王大毛這個群組, 而張小豬相對於王三毛,則只是一個『其他人(others)』而已. 不過,這裡有個特殊的人物要來介紹的,那就是 ...
随机推荐
- oc学习之路----application.keyWindow.rootViewController与self.window.rootViewController与[self.window makeKeyAndVisible];小发现
刚才调试的时候除了一些小问题,有一段代码要重用 NSString *key = @"CFBundleVersion"; // 取出沙盒中存储的上次使用软件的版本号 NSUserDe ...
- DoctorNote医生处方笔记开发记录
1.开发背景 一个开诊所的中医朋友,希望我能给他开发一个记录病人姓名和处方的Android手机app,以便查询病人每次就诊信息,比如上一次的处方,以前他要找个病人上一次的就诊处方,几乎要翻遍一叠厚厚的 ...
- Derby使用2—C/S模式
零.回顾 这部分先来回顾一下上一篇博客中的主要内容.上一篇博客中主要简单介绍了Derby数据的历史,特点,安装以及使用的两种模式.这篇文章主要介绍这两种模式中的一种模式 一.启动服务端程序 第一部分主 ...
- 高亮选中MEMO某一行
选中第5行 //转到指定行并选中这行的文本 procedure SelectLine(Memo1: TMemo; ln: Integer); begin Memo1.SelStart := SendM ...
- Linux环境进程间通信
http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index2.html http://bbs.chinaunix.net/forum.ph ...
- [React] React Fundamentals: State Basics
State is used for properties on a component that will change, versus static properties that are pass ...
- careercup-递归和动态规划 9.11
9.11 给定一个布尔表达式,由0.1.&.|和^等符号组成,以及一个想要的布尔结果result,实现一个函数,算出有几种括号的放法可使该表达式得出result值. 解法: 跟其他递归问题一样 ...
- 动作-CCActionInterval之CCActionEase家族
补间动作也是一个包装器(之前叫补间动画,从字面上讲,叫动作更合适一些.).你也可以叫他缓释动作. 1.含义 补间动作改变的是,内部动作的执行速率(注意,并没有改变执行的最终效果,和执行的时间.)关于这 ...
- 关于ellipsize属性使用的一些细节
ellipsize主要是处理当文字长度超过TextView可显示的长度的时候,系统的处理方式,ellipsize主要有以下几种值: android:ellipsize="start" ...
- 虚拟机及ubuntu环境搭建问题
1.现象: VMware中ubuntu ping通 宿主机windows VMware中ubuntu ping通 百度 宿主机windows ping不通 VMware中ubuntu 解决办法: 确保 ...