linux目录权限与文件权限是不同的,二者要相互配合,这是基础。

比如要读文件:目录至少要有x,文件至少要有r。

要写文件:目录至少要有x,文件至少要有rw。

要执行文件:目录至少要有x,文件至少要有rx。

要建,删文件:目录至少要有wx。与文件无关。

可见,文件最基础的是r,目录最基础的是x。

因为目录权限是控制目录结构的,而最基础的就是要能进入该目录(x),所以没有x,一切莫谈。

而建,删文件只和目录结构有关,所以与文件权限没有关系。

但linux内还有隐藏权限的存在,这使得删除文件不再只与目录有关!

chattr +a 只能增加,不可删除。 +i  不能修改,删除。

想查看隐藏权限么,lsattr吧。

那么问题来了,linux权限只有这10位么。不不,还有SUID,SGID,SBIT,这一大类呢。

这几个也是4 2 1的分布。

SUID一般只对二进制文件使用(shell scipt不可用哦),作用是使二进制文件获得文件拥有者的权限。主要用于提升命令权限。

SGID用于二进制文件时,是二进制文件获得组拥有者的权限。

用于目录时,使可进入该目录并拥有w权限的用户新建的文件(目录)组信息与该目录相同。主要用于团队合作开发。

SBIT只用于目录,作用是使该目录中的文件只有拥有者和root才能删除。

这一类都默认对象拥有x权限。作用时也是对x权限位做出改变。UID使用户权限x变为s, GID使组权限x变为s,BIT使other权限变为t.如果没有x权限, 相应的会变成大写SST哦(表示无法执行)。

另外linux还有权限掩码 umask这一说,主要用于新建文件(目录)的默认权限。root一般为022,普通用户一般为002。掩码是拿掉的权限。也就是说root对group和other拿掉了w。

从哪里拿掉呢?新建文件一般是不可执行的,所以是666,拿掉w后,就变成了644(rw-r--r--)。新建目录由于x是必给,所以是777, 拿掉w之后是755(rwxr-xr-x)。

注意不可直接减,因为文件总权限是666,没有x,所以如果umask是033,直接减就错了哦。(正确结果是rw-r--r--)

总的来说,linux文件目录权限显式的有12位。所以使用chmod时可以用4777这种完整形式哦。

不要忘了隐形权限,虽然上镜率比较低.......

附录:linux下删不掉文件的原因:

1、在本目录没有w权限,这是最明显的。

2、本目录设置了SBIT,而对象文件拥有者不是你。这个在/tmp目录比较明显。

3、文件设置了隐藏权限-i或-a,这两个设置了任一个(-i尤其厉害),即使是root也删不了!

linux文件目录权限详解(20170101)的更多相关文章

  1. Linux之权限详解

    如何知道你有什么权限 我能干什么?这是我最关心的问题! 切换到普通用户 [root@luffy-01 ~]# su - pizza [pizza@luffy-01 ~]$ ls /root ls: c ...

  2. linux学习之路第八天(linux文件权限详解)

    建议和我上一篇博客一起通读,效果更加 1.权限的基本介绍 通过一张图片解决疑惑(重点) rwx权限详解 rwx作用到文件 1)[r]代表可读(read) :可以读取,查看 2)[w]代表可写(writ ...

  3. Linux文件目录结构详解

    整理自<鸟哥的私房菜> 对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于 ...

  4. Linux文件目录结构详解 (转)

      整理自<鸟哥的私房菜> 对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能, ...

  5. [转]Linux文件权限详解

    转自:http://blog.chinaunix.net/uid-25052030-id-174343.html 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问 ...

  6. linux文件权限详解

    一.文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一 ...

  7. CentOS \Linux文件权限详解

    文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个 ...

  8. LINUX 文件权限详解

    ls -l // 查看文件的权限 等价于 ll 文件的权限信息查看 -rw-rw-r-- 1 ceshi ceshi 891 Aug 8 17:28 server drwxrwxr-x 10 cesh ...

  9. LInux ugo权限详解[修]

    Linux 中的用户和组是用来控制使用者或者进程可以或者不可以使用哪些资源和硬件,是Linux权限控制最基本的方式. 用户和组可以看一下上一章的部分,先来看一下权限. 一.权限概览 在Linux下,使 ...

随机推荐

  1. 6、Concurrent-Mark-Sweep

    1.cms 主要用于年老代垃圾回收 2.这玩意牺牲通吐量换取最短垃圾回收时间 3.有的地方说是四个阶段,有的地方说五个阶段,还有六个阶段的,真相是----我也不知道 四个阶段: Initial mar ...

  2. 提高开发效率的十五个Visual Studio 2010使用技巧

    相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个IDE确实有它的独特之处.无容置疑,VS是一个非常强大的IDE,它支持多 ...

  3. 查询oracle版本信息

    select * from v$version;select * from v$instance;select * from nls_database_parameters;select * from ...

  4. LR一个简单的流程

    1.录制脚本 2.回放脚本 :回放前的运行时设置:run_time_seting   F4 关联设置(动态值) 日志分析 3.脚本的增强: 添加事物(计时) 参数化(模拟真实的用户行为) 内容检查.回 ...

  5. eap-md5

    eap-md5       文件路径 用途 示例 备注 #gedit /usr/local/etc/raddb/sites-available/default #gedit /usr/local/et ...

  6. net之工作流工程展示及代码分享(记录)

    http://www.cnblogs.com/thanks/p/4183235.html

  7. MVC WebAPI中响应客户端请求返回图片

    // GET api/values public HttpResponseMessage Get() {     Image img = GetImage();     MemoryStream ms ...

  8. 使用NFC读卡器ACR122u读取银行卡信息

    使用NFC读卡器  ACR122u 使用ACR122u Tool 软件发送spdu指令即可 一些运行结果 如上所示,银行卡的卡号,有效期,卡主姓名,身份证号,进期消费记录均可读出

  9. linux 下C语言学习路线

    UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...

  10. 简单阐述下OC中UIImage三种创建方式~~~

    一. 直接使用imageNamed进行创建 UIImage * image = [UIImage imageNamed:@"1.jpg"]; 简单说一下这种方式的优缺点: 优点:代 ...