Linux学习记录17——文件的权限与归属

本文详细解释了Linux系统中文件的权限概念,包括文件所有者、所属组权限以及可读、写、执行权限在普通文件和目录文件中的区别。还介绍了权限的字符和数字表示方法,并通过实例演示了如何转换。最后,解释了文件类型和权限前的减号含义。
摘要由CSDN通过智能技术生成

一.学习的内容

        在Linux系统中,每个文件都有归属的所有者和所属组,并且规定了文件的所有者、所属组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。对于一般文件来说,权限比较容易理解:“可读”表示能够读取文件的实际内容;“可写”表示能够编辑、新增、修改、删除文件的实际内容;“可执行”则表示能够运行一个脚本程序。但是,对于目录文件来说,理解其权限设置就不那么容易了。很多资深Linux用户其实也没有真正搞明白。对于目录文件来说,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录内新增、删除、重命名文件;而“可执行”则表示能够进入该目录。

        可读、可写、可执行权限对应的命令在文件和目录上是有区别的,具体可参考图1。

图1  三种权限在目录和普通文件之间的区别

        文件的可读、可写、可执行权限的英文全称分别是read、write、execute,可以简写为r、w、x,亦可分别用数字4、2、1来表示,文件所有者、文件所属组及其他用户权限之间无关联,如图2所示。

图2  文件权限的字符表示和数字表示

        文件权限的数字表示法基于字符(rwx)的权限计算而来,其目的是简化权限的表示方式。例如,若某个文件的权限为7,则代表可读、可写、可执行(4+2+1);若权限为6,则代表可读、可写(4+2)。我们来看一个例子。现在有这样一个文件,其所有者拥有可读、可写、可执行的权限,其文件所属组拥有可读、可写的权限;其他人只有可读的权限。那么,这个文件的权限就是rwxrw-r--,数字法表示即为764。

        这里以rw-r-x-w-权限为例来介绍如何将字符表示的权限转换为数字表示的权限。首先,要将各个位上的字符替换为数字,如图3所示。

图3   字符、数字权限转换

        减号是占位符,代表这里没有权限,在数字表示法中用0表示。也就是说,rw-转换后是420,r-x转换后是401,-w-转换后是020。然后,将这3组数字之间的每组数字进行相加,得出652,这便是转换后的数字表示权限。

        将数字表示权限转换回字母表示权限的难度相对来说就大一些了,这里以652权限为例进行讲解。首先,数字6是由4+2得到的,不可能是4+1+1(因为每个权限只会出现一次,不可能同时有两个x执行权限);数字5则是4+1得到的;数字2是本身,没有权限即是空值0。接下来按照表5-6所示的格式进行书写,得到420401020这样一串数字。有了这些信息就好办了,就可以把这串数字转换成字母了,如图4所示。

图4    数字、字符权限转换图

        文件的所有者、所属组和其他用户的权限之间无关联。一定不要写成rrwwx----的样子,一定要把rwx权限位对应到正确的位置,写成rw-r-x-w-。

        下面我们利用上文讲解的知识,一起分析图5中所示的文件信息。

图5   通过 ls命令查看文件属性

        在图5中,包含了文件的类型、访问权限、所有者(属主)、所属组(属组)、占用的磁盘大小、最后修改时间和文件名称等信息。通过分析可知,该文件的类型为普通文件,所有者权限为可读、可写(rw-),所属组权限为可读(r--),除此以外的其他人也只有可读权限(r--),文件的磁盘占用大小是34298字节,最近一次的修改时间为4月2日的0:23,文件的名称为install.log。

        排在权限前面的减号(-)是文件类型(减号表示普通文件),新手经常会把它跟“无权限”混淆。尽管在Linux系统中一切都是文件,但是不同的文件由于作用不同,因此类型也不尽相同(有一点像Windows系统的后缀名)。常见的文件类型包括普通文件(-)、目录文件(d)、链接文件(l)、管道文件(p)、块设备文件(b)以及字符设备文件(c)

        普通文件的范围特别广泛,比如纯文本信息、服务配置信息、日志信息以及Shell脚本等都属于普通文件。几乎在每个目录下都能看到普通文件(-)和目录文件(d)的身影。块设备文件(b)和字符设备文件(c)一般是指硬件设备,比如鼠标、键盘、光驱、硬盘等,在/dev/目录中最为常见。应该很少有人会对鼠标、键盘进行硬件级别的管理吧。

二.本次学习遇到的问题

三、问题的答案及解决办法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值