Linux中文件的权限问题<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
在linux中对于一个文件有三种权限RWX:r表示读权限,拥有了此权限可以显示该文件的内容或者该目录的列表内容但是必须具备目录的X权限即执行权限,w表示写权限,拥有此权限的用户可以编辑和删除该文件;X表示执行权限,如果该文件是一个脚本或者程序的话,如果拥有此权限可以执行之,如果是个目录的话,可以进入目录(必须有R权限)。
对于目录的有关权限进行总结一下:如果普通用户对某个目录拥有R权限,那么这个用户不能进入该目录,更不用谈对该目录及该目录中的宝贝进行相关的操作了;如果普通用户对某个目录具有X权限,那么该用户可以进入该目录但是却不能显示该目录的列表,即使该用户对该目录下的某个文件拥有RWX权限,也是没有用的,不能进行响应的操作的;如果普通用户对某个目录拥有RX权限,那么该用户可以进入此目录并且可以显示该目录的列表,甚至如果对该目录的文件有相应的权限的话,还可以对文件进行相应的操作,因为目录的W权限与文件的W权限相比,文件的W权限优先于目录的;如果用户对该目录拥有RWX权限的话,权限就会在加了,可以对目录进行删除操作,但是却不能对该目录下的文件进行删除操作。对于文件属主的权限设置了s位,如果用户对该文件没有任何权限的话,可以删除文件,但是不能向文件中写东西。
如果某个用户对某个目录没有W权限但有RX权限,而且用户对该目录下的某个文件有WRX的权限的,问:该用户是不是可以对此文件进行写操作?
答案是:可以,因为用户可以进入此目录,并可以列出列表,然后她又对某个文件具有写的权限,因此可以对该文件进行写的操作,在linux中文件不会去继承目录的权限,我将这种现象产生的性质称之为“就近原则”。
如果一个用户对某个目录只有R权限,而对此目录下的某个文件拥有RW的权限,问:该用户是不是可以对该文件进行写操作?
答案:NO,不可以,因为用户不具备对该目录的执行权限,显然用户不会进入目录,更不可能对目录中的某个文件进行读写操作了,当你试着对该文件进行强加的写操作时,会报告给你一个错误,cant open this file to write。 对于由这种现象产生的权限性质我称之为“隔墙打不开窗”。
Chown更改文件的属主和属组
当创建一个文件时,默认文件的属主是创建者,属组是创建者的缺省组。只有文件的owner和管理员可以给该文件重新设置文件的所有者。当更改一个文件的owner时,相应的suid也被清除。
Chown的用法:
Chown[选项] 【owner】./:[group] filename(如果你写为chown 用户名 文件名:则只更改文件的属主)(在属组和属主之间用./:都可以的,没有太多的限制)
如我将文件aa的属主和数组更改为用户bb:
Chown aa(属主) :aa (数组)bb(文件名)
Chgrp的用法:chgrp用来改变文件的数组。
Chgrp group_name file-name
Chmod 的用法:chmod用来改变文件的权限值:
Chmod xyz file-name(directory_name) X:属主的权限值,Y:属组的权限值,Z:其他人的权限值。
R对应的数字是4,W权限对应的数字是2,X权限对应的数字是1.
例子:
Chmod 644 aa(文件):此命令的作用是将aa的属主的权限设置为RW,属组的权限设置为R,其他人的权限设置为R。
Umask:确定系统创建文件时的缺省权位。设置方法:umask 数值
Umask的计算方法:目录:777-文件的缺省权限值
文件:666-文件的缺省权限值
默认情况下,root的umask为022,这就解释了为什么root创建一个文件时的权限为644,创建一个目录时的权限为755,普通用户的umask为002,解释了普通用户创建一个目录时的默认权限为775,创建一个文件时的默认权限为664.
符号连接文件:
硬链接:其实说起硬链接,其实质应该就是一个文件的别名。里面存的内同与源文件相同并且占的空间与源文件相同。源文件的删除不影响连接文件的继续使用。
命令: ln source_filename destination-filename
软连接:为了文件的便于访问,节省空间。
命令ln -s source_filename destination-filename,
软硬的比较:
① 硬链接只可以连接文件,当然系统中默认的连接的目录不算。
软连接既可以连接文件也可以连接目录。
②硬链接的文件与源文件的空有空间相同,软连接的文件占有的空间很小,有利于磁盘空间的节省。
③硬链接中如果源文件删除了不会影响连接文件的继续使用,而软连接中如果源文件删除了的话,连接文件会不再生效,系统会不再找到链接文件并继续使用。
④硬链接不能跨文件系统进行连接,而软连接可以做到。
⑤所有的连接文件的权限为777,但源文件的权限依旧并没有更改。
转载于:https://blog.51cto.com/perfect/169657