浅谈Linux中文件访问权限与权限掩码关系

2014-06-20 21:19梁霞梁忠艳刘淑英
无线互联科技 2014年2期

梁霞 梁忠艳 刘淑英

摘 要:Linux操作系统中,文件或目录(以下通称文件)被赋予的访问权限与约定权限和权限掩码(umask值)有关,访问权限是约定权限与权限掩码计算的结果,本文通过实例,阐述文件的访问权限与约定权限和权限掩码关系。

关键词:访问权限;约定权限;权限掩码

1 前言

Linux是应用广泛的多用户操作系统,从系统的安全性考虑,Linux通过给文件赋予所有者和访问权限,实现对文件的安全管理。本文针对Linux中文件的访问权限、约定权限、权限掩码含义及计算方法展开讨论,阐述访问权限的设置方法,明晰文件的约定权限、权限掩码和访问权限的关系。

2 文件访问权限及设置方法

文件访问权限是指文件所有者u(user)、文件所属组g(group)和其它用户o(others)对文件的读(r)、写(w)和执行(x)权限,简称ugo(user group others )权限。所有者是对文件具有所有权的用户,所属组是文件所属的用户组,其它用户是除所有者和所属组成员以外的用户。在Linux中,用户与组密不可妥,因此,Linux按文件所有者、文件所属组和其它用户来设定文件的访问权限。

在Linux中,文件的访问权限由10个字符组成,第1个字符表示linux系统支持的文件类型,主要包括普通文件(-)、块设备文件(b)、命名管道文件(p)、目录(d)、链接文件(l)、字符设备文件(c)和套接字文件(s)。第2至4个字符表示文件所有者权限;第5至7个字符表示文件所属组权限;第8至10个字符表示其它用户的权限。

例如:查看当前用户对文件file的访问权限。

#ls –l file

-rwxrwxr-- 3 root root 2048 3月 12 22:12 file

结果显示file是一个普通文件,文件所有者和文件所属组对file有rwx权限,其它用户对 file有r权限。

在实际应用过程中,文件所有者可以使用chmod命令设置文件的访问权限, Chmod命令有两种方式:一种是字符方式,另一种是数字方式,所谓数字方式是指将rwx权限分別用4、2、1表示,沒有授予权限用0表示,然后把所授予的权限对应的数字相加,形成3位八进制数的组合来表示文件的访问权限。

字符方式的基本语法:chmod [ugoa] +|-|= [rwx] 文件|目录

参数说明: +|-:是在原有权限设置的基础上,增加或取消权限;

=:是赋予文件或目录新的权限;

u表示文件的所有者;

g表示文件所属组;

o表示其它用户;

a表示全部用户;

数字方式的基本语法:chmod nnn 文件|目錄

参数说明:

三个n分别代表文件拥有者、文件所属组和其它用户对文件的权限,n的取值要么是0(无权限),要么是赋予了相应权限所对应的数值累加和。

例如:设置文件file1的访问权限,使文件所有者(u)和文件所属组(g)对file2有 rwx(7)权限,其它用户(o)对file2有 r (4)权限

字符方式设置访问权限:# chmod ug=rwx,o=r file1

数字方式设置访问权限:#chmod 774 file1

3 文件访问权限、约定权限、权限掩码的关系

在LINUX中,root用户登录系统,建立文件和目录的访问权限分别为644和755;普通用户登录,建立文件和目录的访问权限分别为664和775,两类用户建立的文件和目录访问权限不同,与LINUX的权限掩码有关。

为了提高文件系统的安全性,方便用户权限设置,Linux设置了权限掩码(umask值),root用户和普通用户登录系统,权限掩码默认分别为022和002,在终端上输入umask命令可查看系统当前的权限掩码。在不考虑权限掩码的情况下,Linux约定,新建文件和目录的权限为666和777,我们称为之为约定权限。在系统给定权限掩码的情况下,新建文件和目录的访问权限为:文件和目录的约定权限666(777)与权限掩码值取反后作逻辑与运算,得到文件和目录的访问权限。

4 结束语

LINUX中文件的访问权限,是通过系统给定的文件约定权限与权限掩码取反后作逻辑与运算生成的,而不是二者简单的相减。通过权限掩码,可以方便地为文件赋予访问权限,从而方便用户对文件系统的维护,提高了文件系统的安全性。

[参考文献]

[1]潘志安.Linux操作系统应用.高等教育出版社,,2010.12,ISBN:978-7-04-027800-2.

[2]刘怀亮.Linux网络管理员.研究出版社,2008.06,ISBN:978-7-80168-360-1.