首页 > 代码库 > 揭秘跨越普通权限的神秘地带

揭秘跨越普通权限的神秘地带

我们在Linux运维的日常工作中最常用的权限无非就是r(读)、w(写)、x(执行)三种。

那么是不是学会了这三种权限就是纵横Linux权限疆域呢?

当然不是,如果仅仅掌握了读写执行三种权限,会写类似chmod 755 文件名这样的命令就可以在Linux权限领域里信马由缰,那么我就没有必要写下这篇文章了,那么Linux也就不会那么神秘而强大了。

哈哈,说了这么多废话,接下来我给大家讲一个故事吧!

早在明朝的时候,有一个百宝箱,对,就是杜十娘怒沉的那个百宝箱被一个叫做张三的渔民打捞了出来,所以他就自然而然的变成了百宝箱的所有者。很不幸,他隶属于一个渔民组织,他不敢把百宝箱据为己有,所以他就把百宝箱交给了组织,百宝箱有两把钥匙,他自己留了一把,把另外一把钥匙上交给了自己的组织。换句话说,现在百宝箱的所有者是张三,所属组是渔民组织,两者都可以自由处置百宝箱。当然除此之外的其他人是不可以对百宝箱有任何非分之想的。用我们普通权限的知识,此时百宝箱的权限就是drwxrwx---

那么问题来了,不知道是谁走漏了风声,这件事被九千岁魏忠贤得知。这九千岁是喜出望外,夺得宝箱。但是他既不是宝箱的所有者,也不是宝箱的所属组,那么他如果想要打开百宝箱应该给他赋予什么权限呢?

这时候有人可能会说,给他一个其他人的权限吧!当然不行啦,魏忠贤何许人也,怎么可能与别人平分富贵。那么是不是有一个特别的权限可以给他呢?

当然是有的,在我们的Linux世界里有一个ACL权限,就是为了处理这种特殊情况而存在的。

那么接下来,我们开始给魏忠贤设定ACL权限:

技术分享

首先,我们创建一个百宝箱文件:box

设定ACL权限:

setfacl -m u:wzx:r-x  box/

技术分享

但是现在百宝箱里其实并没有什么宝贝,只有三本武林秘籍。魏忠贤就想打开这三本武林秘籍,于是:

技术分享

哎呀,可把这老东西给气坏了。怎么办,还是逼问渔民组织要权限呗!

到了这里,递归设定ACL权限的方法终于粉墨登场了。

setfacl -m u:wzx:rx -R box

技术分享


我们在前面已经学会了如何赋予ACL权限,那么如何查看ACL权限呢?

getfacl  文件名

 技术分享


那么如何设置默认权限呢,就是说让新创建的文件直接被自动赋予ACL权限。

setfacl  -m d:u:wzx:rx -R box

技术分享


后来崇祯皇帝上台后把魏忠贤等一干阉党定为逆党干死了,那么朝廷就要取消他的权限。

setfacl -x u:wzx box

技术分享


注意:默认权限与递归权限针对的都只是目录

本文出自 “康哥的Linux世界” 博客,请务必保留此出处http://zhengkangkang.blog.51cto.com/12015643/1857234

揭秘跨越普通权限的神秘地带