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命令切换此目录为工作目录;
对于文件的操作实例:
ACL是Access Control List的缩写。主要的目的是提供传统的owner、group、others的r、w、x权限室外的具体权限设置ACL可以针对单一用户、单一文件或目录进行授权。
例如下面的实例,我们想让mylinux对文件a.txt具有读权限,但是又不想其成为a.txt的属主或者将mylinux加入root用户组中,此时就使用到了facl。当文件具有额外的权限时,使用ls可以看到权限后面有+号表示。
除了上述权限以外,文件还具有特殊权限位SUID以及SGID。当在团队开发时,各成员在一个工作目录开发时,我们希望可以看到彼此的内容,但又不希望被对方修改乃至恶意删除时。这两个权限位就显示了作用。
SUID:
SUID权限仅对二进制程序有效,执行者需要对该程序具有可执行权限,本权限仅有执行该程序的过程中有效,执行者将具有该程序所有者(owner)的权限。
SGID设置于文件:
可以针对文件或者目录设置。SGID对二进制程序有用,执行者对该程序来说,需要有可执行的权限,执行者执行的过程中将获得该程序用户组的支持。
SGID设置于目录:
用户对此目录有r与x的权限时,该用户能进入此目录,用户在此目录下的有效用户组将变成该目录的用户组;若用户在此目录下具有w权限,则用户创建的新文件的用户组与此目录用户组相同。
SBIT(Sticky)只对目录有效:
目录加上此权限时,用户在此文件中创建的文件或目录仅有自己或root能删除。
分别对其实例演示:
一、文件的基本权限
用户对于文件的基本权限包括(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
相关文章推荐
- linux系统管理笔记之八--文件与目录操作及权限
- linux文件权限管理实验
- Linux/Unix中的SUID和SGID文件权限和在CVS项目管理中的应用
- 04 Linux系统管理—(管理用户和文件权限)
- 【Linux文件权限管理】关于SetUID、SetGID的说明
- linux系统管理学习笔记之八---linux文件与目录的管理及权限
- Linux系统管理命令: 管理用户和文件权限
- 【Linux学习记录】Linux文件属性权限、目录管理
- linux管理用户和文件权限
- Linux 账户 帐户管理 文件权限 权限管理
- Linux文件权限管理
- Linux基础知识学习笔记(一)--文件系统的权限管理
- Linux帮助信息获取用户文件权限管理(上)
- 【Linux学习记录】Linux文件属性权限、目录管理
- linux 文件权限的管理
- 浅谈Linux用户权限管理之三(文件与权限的设定)
- linux入门2-文件权限管理
- linux文件权限及管理
- Linux笔记2 文件权限管理
- linux用户和文件权限的管理