首页 理论教育 嵌入式Linux文件权限控制

嵌入式Linux文件权限控制

时间:2023-10-31 理论教育 版权反馈
【摘要】:若文件只有读权限,则禁止任何修改。剩下的9位表示文件的访问权限。第1组表示文件所有者对文件的操作权限,第2组表示与文件所有者同组的用户对该文件的操作权限,第3组表示其他用户对该文件的操作权限。1)-rwx------:文件所有者对文件具有读取、写入和执行的权限。用户登录系统时,用户环境就会自动执行umask命令来决定文件和目录的默认权限。在Shell下还可以通过chmod和数字来改变文件或目录的访问权限。

嵌入式Linux文件权限控制

在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限,可以用以下3种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。

同时,用户能够控制一个给定的文件或目录的访问程度。一个文件和目录可能有读、写及执行权限。当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件。文件所有者可以将这些权限改变为任何他想指定的权限。若文件只有读权限,则禁止任何修改。文件也可能只有执行权限,允许它像一个程序一样执行。

3种不同的用户类型能够访问一个目录或者文件:所有着、用户组或其他用户。所有者就是创建文件的用户。用户是所有用户所创建的文件的所有者。用户可以允许所在的用户组能访问用户的文件。通常,用户都组合成用户组。例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。最后,用户也将自己的文件向系统内的所有用户开放。在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户就是other用户类。

每一个用户都有它自身的读、写和执行权限。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件权限。第三套权限控制其他所有用户访问一个用户的文件权限。这3套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限,构成了一个有9种类型的权限组。如使用-l参数的ls命令显示文件的详细信息,其中就包括权限。其中的结果之一如下所示:

上面的运行结果从左至右依次是:文件属性、文件数、所有者、拥有该文件的用户所属的组、文件大小、文件创建时间和文件名。

文件属性共由10位组成,第1位表示文件类型,用来区分文件和目录,其中:

●d表示一个目录。事实上,在ext2fs中,目录是一个特殊的文件。

●-表示这是一个普通的文件。

●l表示这是一个符号链接文件。实际上,它指向另一个文件。

●b、c分别表示区块设备和其他的外围设备,是特殊类型的文件。

●s、p表示这些文件关系到系统的数据结构和管道,通常很少见到。

剩下的9位表示文件的访问权限。可以按照每3个一组分成3组,从左到右。第1组表示文件所有者对文件的操作权限,第2组表示与文件所有者同组的用户对该文件的操作权限,第3组表示其他用户对该文件的操作权限。每组只能出现3个字母,意义如下:

●r(Read,读取):对文件而言,具有读取文件内容的权限;对目录而言,具有浏览目录的权限。

●w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录而言,具有删除、移动目录内的文件的权限。

●x(eXecute,执行):对文件而言,具有执行文件的权限;对目录而言,该用户具有进入目录的权限。

●-:表示不具有该项权限。

下面举例说明。

1)-rwx------:文件所有者对文件具有读取、写入和执行的权限。(www.xing528.com)

2)-rwxr―r--:文件所有者具有读、写与执行的权限,其他用户则具有读取的权限。

3)-rw-rw-r-x:文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。

4)drwx--x--x:目录所有者具有读写与进入目录的权限。其他用户能进入该目录,却无法读取任何数据。

5)每个用户都拥有自己的专属目录,通常集中放置在/home目录下,这些专属目录的默认权限为rwx------。

6)执行mkdir命令所创建的目录,其默认权限为rwxr-xr-x,用户可以根据需要修改目录的权限。

此外,默认的权限可用umask命令修改,用法非常简单,只需执行umask777命令,便代表屏蔽所有的权限。因而,之后建立的文件或目录,其权限都变成000,依此类推。通常,root账号搭配umask命令的数值为022、027和077,普通用户则是采用002,这样所产生的权限依次为755、750、700、775。

用户登录系统时,用户环境就会自动执行umask命令来决定文件和目录的默认权限。还可以使用文件管理器来改变文件或目录的权限。方法是:右击要改变权限的文件或者目录,在弹出的快捷菜单中选择“属性”,系统将打开“属性”对话框,在“属性”对话框中单击“权限”标签,就会打开“权限”选项卡。在这里可以修改文件或者目录的所有者、组群和其他用户的权限,而且可以设置特殊权限。对于特殊权限,最好不要设置,以避免安全方面出现严重漏洞,造成黑客入侵,甚至摧毁系统。

在Shell下还可以通过chmod和数字来改变文件或目录的访问权限。用数字表示权限时,仅需3个数字。

●r:对应数值4。

●w:对应数值2。

●x:对应数值1。

如:

按照上面的规则,rwx合起来就是4+2+1=7。一个rwxrwxrwx权限全开放的文件,数值表示为777;而完全不开放权限的文件“----”其数字表示为000。如果要加上特殊权限,就必须使用4位数字才能表示。特殊权限的对应数值如下。

●s或S(SUID):对应数值4。

●s或S(SGID):对应数值2。

●t或T:对应数值1。

用同样的方法修改文件权限就可以了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈