linux系统的权限介绍

时间:2023-03-26 20:24:56

让我们用t o u c h命令创建一个文件:
$ touch myfile
现在对该目录使用ls -l命令:

linux系统的权限介绍

我们已经创建了一个空文件,正如我们所希望的那样,第一个横杠告诉我们该文件是一个普通文件。你将会发现所创建的文件绝大多数都是普通文件或符号链接文件(后面将会出现更多的符号链接文件)。

文件属主权限           组用户权限         其他用户权限

rw-                      r--                    r—

接下来的三个权限位是文件属主所具有的权限;再接下来的三位是与你同组用户所具有的权限,这里是a d m i n组;最后三位是其他用户所具有的权限。在该命令的结果中,我所属于的缺省组也显示了出来。下面是对该文件权限的精确描述:

表1-1 ls -l命令输出的含义

linux系统的权限介绍

因此,这三组字符(除了第一个字符)分别定义了:
1) 文件属主所拥有的权限。
2) 文件属主缺省组(一个用户可以属于很多的组)所拥有的权限。
3) 系统中其他用户的权限。
在每一组字符中含有三个权限位:
r 读权限
w 写/更改权限
x 执行该脚本或程序的权限
这里我们采用另外一种方式来表示刚才所列出m y f i l e的文件权限:

- r                                   w -                          r- -                       r--
文件类型为普通文件         文件属主可以读、写       同组用户可以读          其他用户可以读

你可能已经注意到了,m y f i l e在创建的时候并未给属主赋予执行权限,在用户创建文件时,系统不会自动地设置执行权限位。这是出于加强系统安全的考虑。必须手工修改这一权限位:后面讲到u m a s k命令时,你就会明白为什么没有获得执行权限。然而,你可以针对目录设置执行权限位,但这与文件执行权限位的意义有所不同,这一点我们将在后面讨论。

上面这段关于权限位的内容可能不太好理解,让我们来看几个例子(见表1 - 2 )。

更令人迷惑的是,对于文件属主来说,在只有读权限位被置位的情况下,仍然可以通过文件重定向的方法向该文件写入。过一会儿我们就会看到,能否删除一个文件还依赖于该文件所在目录权限位的设置。

表1-2 文件权限及含义

linux系统的权限介绍

linux系统的权限介绍