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

Linux的文件权限管理

2016-08-24 17:34 169 查看
Linux作为一种多用户操作系统有着严格的权限控制体系。其主要包括文件的基本权限,文件访问控制列表(FACL)以及文件的隐藏,现在来分别讨论它们之间的关系。说明:本文中的演示基于CentOS6.5,在Linux其他发行版上操作可能有所区别。

一、文件的基本权限
用户对于文件的基本权限包括(r,w,x),其对普通文件与目录的含义又有所不同
文件:
r: 可以使用内容查看类的命令来显示其相关内容;
w: 可以使用编辑器修改其内容,但并不具备删除文件本身的权限
x: 可以将其发起一个进程;
目录:
r: 可以使用ls命令查看目录内容的文件信息;
w: 可以创建、删除目录内的文件;
x: 可以使用ls -l命令查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录;
对于文件的操作实例:
[mylinux@mylinux test]$ ls -l a.txt
-rw-r--r-- 1 root root 7 8月  24 16:07 a.txt
[mylinux@mylinux test]$ cat a.txt
qweqw
[mylinux@mylinux test]$ ls -l a.txt
-rw-r--rw- 1 root root 7 8月  24 16:07 a.txt
[mylinux@mylinux test]$ rm a.txt
rm: 无法删除"a.txt": 权限不够
对于目录的操作实例:
[mylinux@mylinux home]$ ls -dl test/
drwxr-xr-- 2 root root 4096 8月  24 16:07 test/
[mylinux@mylinux home]$ cd test/
-bash: cd: test/: 权限不够
[mylinux@mylinux home]$ ls -dl test/
drwxr-xr-x 2 root root 4096 8月  24 16:07 test/
[mylinux@mylinux home]$ cd test/
[mylinux@mylinux test]$ ls
a.txt
[mylinux@mylinux test]$ rm a.txt
rm: 无法删除"a.txt": 权限不够
[mylinux@mylinux test]$ ls -al
总用量 12
drwxr-xrwx  2 root root 4096 8月  24 16:07 .
drwxr-xr-x.  7 root root 4096 8月  24 16:06 ..
-rw-r--rw-  1 root root    7 8月  24 16:07 a.txt
[mylinux@mylinux test]$ rm a.txt
二、文件访问控制列表(FACL)
ACL是Access Control List的缩写。主要的目的是提供传统的owner、group、others的r、w、x权限室外的具体权限设置ACL可以针对单一用户、单一文件或目录进行授权。
例如下面的实例,我们想让mylinux对文件a.txt具有读权限,但是又不想其成为a.txt的属主或者将mylinux加入root用户组中,此时就使用到了facl。当文件具有额外的权限时,使用ls可以看到权限后面有+号表示。
[mylinux@mylinux test]$ ls -l a.txt
-rw-r----- 1 root root 7 8月  24 16:48 a.txt
[mylinux@mylinux test]$ cat a.txt
cat: a.txt: 权限不够
[mylinux@mylinux test]$ ls -l a.txt
-rw-r-----+ 1 root root 7 8月  24 16:48 a.txt
[mylinux@mylinux test]$ cat a.txt
asdas
[mylinux@mylinux test]$ getfacl a.txt
# file: a.txt
# owner: root
# group: root
user::rw-
user:mylinux:r--
group::r--
mask::r--
other::---
三、文件的特殊权限位
除了上述权限以外,文件还具有特殊权限位SUID以及SGID。当在团队开发时,各成员在一个工作目录开发时,我们希望可以看到彼此的内容,但又不希望被对方修改乃至恶意删除时。这两个权限位就显示了作用。
SUID:
SUID权限仅对二进制程序有效,执行者需要对该程序具有可执行权限,本权限仅有执行该程序的过程中有效,执行者将具有该程序所有者(owner)的权限。
SGID设置于文件:
可以针对文件或者目录设置。SGID对二进制程序有用,执行者对该程序来说,需要有可执行的权限,执行者执行的过程中将获得该程序用户组的支持。
SGID设置于目录:
用户对此目录有r与x的权限时,该用户能进入此目录,用户在此目录下的有效用户组将变成该目录的用户组;若用户在此目录下具有w权限,则用户创建的新文件的用户组与此目录用户组相同。
SBIT(Sticky)只对目录有效:
目录加上此权限时,用户在此文件中创建的文件或目录仅有自己或root能删除。
分别对其实例演示:
[mylinux@mylinux test]$ ls -l /bin/cat
-rwxr-xr-x. 1 root root 45224 11月 22 2013 /bin/cat
[mylinux@mylinux test]$ ls -l a.txt
-rw-r----- 1 root root 7 8月  24 16:48 a.txt
[mylinux@mylinux test]$ cat a.txt
cat: a.txt: 权限不够
[mylinux@mylinux test]$ ls -l /bin/cat
-rwsr-xr-x. 1 root root 45224 11月 22 2013 /bin/cat
[mylinux@mylinux test]$ cat a.txt
asdas

[mylinux@mylinux test]$ ls -l /bin/cat
-rwxr-xr-x. 1 root root 45224 11月 22 2013 /bin/cat
[mylinux@mylinux test]$ ls -l a.txt
-rw-r----- 1 root root 7 8月  24 16:48 a.txt
[mylinux@mylinux test]$ cat a.txt
cat: a.txt: 权限不够
[mylinux@mylinux test]$ ls -l /bin/cat
-rwxr-sr-x. 1 root root 45224 11月 22 2013 /bin/cat
[mylinux@mylinux test]$ cat a.txt
asdas

[root@mylinux test]# ls -dl b
drwxr-xr-x 2 mylinux mylinux 4096 8月  24 17:30 b
[root@mylinux test]# chmod g+s b
[root@mylinux test]# ls -dl b
drwxr-sr-x 2 mylinux mylinux 4096 8月  24 17:30 b
[root@mylinux test]# cd b/
[root@mylinux b]# touch test.txt
[root@mylinux b]# ls -l
总用量 0
-rw-r--r-- 1 root mylinux 0 8月  24 17:32 test.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  权限管理 SGID SUID