您的位置:首页 > 运维架构 > Linux

LINUX文件权限漫谈

2016-05-22 00:00 441 查看


这个是最今本的linux文件权限列表,读写执行权限分别用三个数字表示:421,权限用10个字节来表示,第一个字节表示文件类型,后面9个字节每三个表示一个用户或者用户组的权限,比如busi.php文件的权限,首先第一组的三个字段表示此文件的所有者的权限,比如root用户可以对这个文件进行读写,但是没法执行。第二组是反应用户组的权限,第三组是其他的用户权限。在touch mkdir来创建一个文件或者文件夹的时候就有一个默认的权限,默认的权限由umask来控制,如果你umask 777,mkdir出来的的文件权限就是000,他会和777做一个与或权限就ok了。

如果是任务Linux的文件权限就这简单的两句能总结的,那就out了。

首先我们先来回顾一下文件的类型,就是第一个字段的意思:

d:表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。
-:表示这是一个普通的文件。
l: 表示这是一个符号链接文件,实际上它指向另一个文件。
b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。
s、p:这些文件关系到系统的数据结构和管道,通常很少见到。

s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。

s或S(SGID,Set GID):设置在文件上面,其效果与SUID相同,只不过将文件所有者换成用户组,该文件就可以任意存取整个用户组所能使用的系统资源。

T或T(Sticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。

文件还有一些隐藏的属性信息:

[root@VM_185_128_centos ~]# echo "aaa">>busi.php
-bash: busi.php: Permission denied
[root@VM_185_128_centos ~]# ll
total 4
-r--r--r-- 1 root root 162 Aug  6 10:57 busi.php
[root@VM_185_128_centos ~]# chmod 644 busi.php
chmod: changing permissions of `busi.php': Operation not permitted

如上你会发现,你根本没有办法就用root用户去操作这个文件。
这是因为chattr +i busi.php锁定了这个文件。

还有selinux的控制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: