本文是 i 春秋作家「xiehudie」表哥分享的技术文章,旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。本套Linux进阶教程共分为14章,欢迎大家前来系统学习。
前期回顾>>
第5章:控制对文件的访问
一、Linux文件系统权限
文件权限控制对文件的访问。
用户创建了文件,所以这个文件归这个用户所有(举个简单的例子:比如我们打游戏,我们用QQ创建一个游戏账号,所以这个账号就归我们所有),文件也可以归组所有,但是这个组一般就是创建了这个文件的用户组所有(举个例子:拿大学里面的社团来说,每一个社团都可以看作是一个组,你可以加入不同的社团,也就是进入不同的组,总的来说就是你可以加入社团,但社团缺没办法加入你)。也可以为所属用户、所属组和系统上的非用户和非所属组的其他用户设置不同的权限。所谓的权限的优先权就是用户权限覆盖组权限,组权限覆盖其他权限。
举个例子:在下图中,A是组A和C的成员,而B则是组B、C、D的成员,当A和B需要合作时,文件应该与C组关联,并且组权限应当允许所需的访问权限。
我们通常对只读目录具有读取和执行的权限,而没有写入的权限。所以用户可以列出该目录,但是无法修改里面的内容。如果用户对目录只有访问权限用户虽然可以列出其中文件的名称,但是其他信息(如权限和时间戳)都不可用,也不可以访问。如果用户只对目录有执行权限,则无法列出目录中的文件名。但是如果用户知道有读取权限的文件的名称,可以通过显式指定相对文件名,来从目录外部访问该文件的内容。需要注意一点:如果用户在文件所在的目录中拥有所有权或者写入权限的话,可以删除此文件。下面是举例说明查看文件和目录的权限以及所有权:
1.使用ls命令中的-l选项查看文件的权限和所有权的详细信息:
2.ls命令的-d选项可以显示有关目录本身的详细内容
接下来我们解释一下“rwxr-xr-x”这九个字符是什么意思。这九个字符,每三个为一组,它们分别是:当前用户权限,组权限和其他用户权限,而字符“rwx”分别是读取,写入和执行权限。“-”则代表“rwx”中的其中一个字符变成“-”,则表示此类别没有这个权限。而长列表中的第一个字符也有很多含义:“-”表示是常规文件;“d”表示是目录;“l”表示是软链接;其他字符表示硬件设备(b和c),或者其他具有特殊用途 文件(p和s)。
二、更改文件和目录权限
在Linux中,更改权限的命令是chmod,意思是“change mode”,更改模式。而且chmod命令更改的时候还显示出了权限说明。以下是在Linux中更改权限的几种方法:
1.符号法Who是指u、g、o、a,代表的是:用户,组,其他,全部的意思。What是指+、-、=,代表的是:添加,删除和精准设置。Whic是指r、w、x,代表的是:读取,写入,执行。不同的字符代表不同的意思,在使用的时候,要合理组合运用每个字符。示例:给file1中的组和其他设置删除读取和写入权限:
给file2中的每个人添加执行权限:
2.数值法在数值法中,每个数字代表一个权限,它们分别是:1代表执行,2代表写入,4代表读取。举个例子:rwxr-x---,它们9个字符每三个为一组,而组成的三个数字,代表着用户、组和其他的权限。而这个权限的数值表示为 750。示例:对文件file1中的用户设置读取和写入权限,对组设置读取权限,其他用户设置读取权限。
对file2文件设置读取、写入和执行权限,对组设置读取和执行权限,对其他用户设置无权限。
本次Linux命令到此为止。