文件权限管理

来源:互联网 发布:windows server 2012 编辑:程序博客网 时间:2024/06/03 14:06
文件权限概述
1.文件时操作系统用来存储信息的基本结构,是一组信息的集合;
2.文件通过文件名来唯一的标识;Linux中的文件名称最长可允许255个字符,这些字符可用A~Z、0~9、.、_、-等符号来表示;
3.与其他操作系统相比,Linux最大的不同点是没有“扩展名”的概念,也就是说文件的名称和该文件的种类并没有直接的关联,甚至可以不是用扩展名;
4.另一个特性是Linux文件名区分大小写;
5.在Linux系统中,如果文件名以"."开始,表示该文件为隐藏文件需要使用“ls -a”命令才能显示;
6.在LInux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录;
7.通过设定权限可以从以下三种访问方式限制访问权限:
①只允许用户自己访问;
②允许一个预先指定的用户组中的用户访问;
③允许系统中的任何用户访问
8.用户能够控制一个给定的文件或目录的访问程度;一个文件或目录可能有读、写及执行权限;
9.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件;
10.文件所有者可以将这些权限改变为任何他想指定的权限;
11.三种不同的用户类型能够访问一个目录或者文件:所有者、用户组或其他用户;所有者时创建文件的用户,文件的所有者能够授予所在用户组的其他成员以及系统中除所属组之外的其他用户的文件访问权限;
12.每一个用户针对系统中的所有文件都有它自身的读、写和执行权限:
①第一套权限控制访问自己的文件权限,即所有者权限;
②第二套权限控制用户组访问其中一个用户的文件的权限;
③第三套权限控制其他所有用户访问一个用户的文件的权限

文件权限的类型
drwxr-xr-x 2 root root 4096 Aug 9 15:03 Desktop
d:表示是一个目录,在ext文件系统中目录也是一种特殊的文件;
-:表示该文件是一个普通的文件;
l:表示该文件是一个符号链接文件,实际上它指向另一个文件;
b、c:分别表示该文件为区块设备或其他的外围设备,是特殊类型的文件;
s、p:这些文件关系到系统的数据结构和管道。
一、在上面的显示结果中,每一行的第2~10个字符表示文件的访问权限;这9个字符每3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限;代表的意义如下:
①字符2、3、4表示该文件所有者的权限,有时也简称u(User)的权限;
②字符5、6、7表示该文件所有者所属组的组成员的权限,简称为g(Group)的权限;
③字符8、9、10表示该文件所有者所属组群以外的权限,简称o(Other)的权限。
二、9个字符根据权限种类的不同,也分为3中类型:
Ⅰ、r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限;
Ⅱ、w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录而言,具有删除、移动目录内文件的权限;
Ⅲ、x(Execute,执行):对文件而言,具有执行文件的权限;对目录而言该用户具有进入目录的权限;
Ⅳ、-:表示不具有该项权限。
三、每个用户都拥有自己的主目录,通常在/home目录下,这些主目录的默认权限为rwx------:执行mkdir命令所创建的目录,其默认权限为rwxr-xr-x,用户可以根据需要修改目录的权限。
四、默认的权限可用umask命令修改,执行“umask 777”命令,便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都变成000,依此类推;通常root账号搭配umask命令的数值为022、027和077,普通用户则是采用002,这样所产生的默认权限依次为755、750、700、775.

特殊权限
文件与目录设置还有特殊权限,由于特殊权限会拥有一些“特权”,因而用户若无特殊需求,不应该启用这些权限,避免安全方面出现严重漏洞,造成黑客入侵,设置摧毁系统:
①s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源;请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root账号拥有者,无声无息地在系统中开启后门,供日后进出使用;
②s或S(SUID,Set UID):设置在文件上面,其效果与SUID相同,只不过将文件所有者换成用户组,该文件就可以任意存取整个用户组所能使用的系统资源;
③t或T(Sticky):/tmp和/var/tmp目录共所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。

文件权限的设置方法
Ⅰ、在文件建立时系统会自动设置权限,如果这些默认权限无法满足需要,此时可以使用 chmod命令来修改权限;通常在修改权限时可以用两种方式来表示权限类型;数字表示法和文字表示法。
Ⅱ、chmod命令的格式:chmod 选项 文件
以数字表示法修改权限
所谓数字表示法是指将读取(r)、写入(w)、运行(x)分别以4、2、1来表示,没有授予的部分就表示为0,然后再把所授予的权限相加而成。
以文字表示法修改访问权限
Ⅰ、使用权限的文字表示法时,系统用4种字母来表示不同的用户:
u:user,表示所有者;
g:group,表示属组;
o:others,表示其他用户;
a:all,表示以上三种用户。
Ⅱ、操作权限使用下面三种字符的组合表示法:
r:read,可读;
w:write,写入;
x:execute,执行。
案例:①同时将/mlx目录中的所有文件权限设置为所有人都可读取与写入
chmod a = rw /mlx/* 或者 chmod 666 /mlx/*
  ②设置文件/mlx/file文件的SUID权限
chmod u+s /mlx/file

文件所有者与属组修改
①要修改文件的所有者可以使用chown来设置,
chown命令格式:chown 选项 用户和属组 文件列表
②用户和属组可以是名称也可以是UID或GID;多个文件之间用空格分隔;
③案例:把/mlx/file文件的所有者修改为test用户
chown test /mlx/file
④chown命令可以同时修改文件的所有者和属组,用“:”分隔;
⑤案例:将/mlx/file文件的所有者和属组都改为test:   
chown test:test /mlx/file
只修改文件的属组:
chown :test /mlx/file
⑥修改文件的属组也可以使用命令chgrp:
chgrp test /mlx/file



原创粉丝点击