目录和文件权限和归属

一、文件、目录的权限及归属

在Linux文件系统的安全模型中,为系统中的文件赋予了两个属性:访问权限和文件所有者,简称“权限”和“归属”。其中访问权限包括读取、写入、可执行三种基本类型,归属包括属主(拥有该文件的用于账号)、属组(拥有该文件的组账号)。
Linux系统根据文件和目录的访问权限、归属来对用户访问数据的过程进行控制。

1.查看文件、目录的权限和归属

使用ls -l命令时,将以长格式显示出文件的详细信息,其中包括了该文件的权限和归属等参数
长格式显示详细信息的格式为

[root@cheng0307 ~]# ls -l /etc/passwd #列出etc/passwd文件的详
-rw-r--r--. 1 root root 2235 414 15:30 /etc/passwd

在上述输出信息中,第3、4个字段的数据分别表示该文件的属主、属组,上面的"/etc/passwd"文件都属于root用户,root组:而第1个字段的数据表示该文件的访问权限,如:"-rw-r–r--"。权限字段由四部分组成,各自的含义如下:

第一个字符:表示该文件的类型,可以是d(目录)、b(块设备文件)、c(字符设备文件)、“-”(普通文件)、字母“ l ”(链接文件)等
第2~4个字符:表示该文件的属主用户(User)对该文件的访问权限
第5~7个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限;
第8~10个字符:表示其他任何用户(Other)对该文件的访问权限
第11个字符:这里的“ . ”与SELinux有关,目前不需要关注。

目录和文件权限和归属

 

在表示属主、属组用户或者其他用户对该文件的访问权限时,主要使用了三种不同的权限字符,权限字符也可以分别表示为八进制数字4、2、1,表示一个权限组合时需要将数字进行累加。
各自含义如下:

读取 r :允许查看文件的内容、显示目录列表。
写入 w :允许修改文件内容,允许在目录中新建、移动、删除文件或子目录。
可执行 x :允许运行程序、切换目录。

2.设置权限-chmod

需要设置文件的权限时,主要通过chmod命令进行,在设置针对每一类用户的访问权限时,可以采用两种形式的权限表示法: 字符形式和数字形式。 例如:“rwx”采用累加数字形式表示为“7”,“r-x”采用数字形式表示成“5”。
基本的命令格式如下:

字符形式: chmod [ugoa···][+-=][rwx] 文件...
数字形式: chmod nnn 文件/目录...

常用选项

-R:递归修改指定目录下所有子项的权限(包括目录中的文件)

字符组合“[ugoa···][+ - =][rwx]”或者数字组合“nnn”的形式表示要设置的权限模式,其中“nnn”为需要设置的具体权限值,如“755”、“644”等,而“[guoa···][+ - =][rwx]”的形式中,三个组成部分的含义及用法如下:

“ugoa”表示该权限设置所针对的用户类别。“u”代表文件属主,“g”代表文件组内的用户,“o”代表其他任何用户,“a”代表所有用户(ugo的总和);
“+ - =”表示设置权限的操作动作。“+”号代表增加权限,“-”号代表减少相应权限,“=”号代表仅设置对应的权限;
“rwx”是权限的字符组合形式,也可以拆分使用,如“r”、“rx”等。

修改123.txt文件的权限为:属主可读写执行,属组可读写,其他用户可读
修改456txt文件的权限为:属主可读,属组和其他用户不可任何操作

目录和文件权限和归属

 

需要将不同类别的用户对文件的权限设置为不同的值时,可以用逗号进行分隔。

给456.txt文件属组添加可执行,属组和其他用户添加可读权限

目录和文件权限和归属

创建aaa.f/bbb.f/ccc.f 目录,递归修改权限为111.

目录和文件权限和归属

3.设置归属---chown/chgrp

1.格式

chown/chgrp 属主 文件或目录
chown/chgrp :属组 文件或目录
chown/chgrp 属主:属组 文件或目录

2.常用选项

-R:递归修改指定目录下所有子项的权限(包括目录中的文件)

3.文件1,2,3的属主和属组都是root,要求修改1.txt属主为user1,2.txt属组为user2,3.txt属主为user1,属组为user2

目录和文件权限和归属

4.umask应用

通过上面的介绍,清楚了如何改名一个文件和目录属性,那么,当我们新建一个新的文件或者目录时,它的默认权限时什么呢,这个与umask有关。

1.作用

设置目录和文件的默认权限;
设置目录和文件的默认权限;
新建的文件或者目录的权限为默认最大权限减去umask(普通文件的最大默认权限为6,目录的最大默认权限为7)

2.格式

umask查看: umask
umask设置: umask 000

3.查看umask值,看创建的文件和目录和umask之间的关系

目录和文件权限和归属

4.实例2:将umask设置为0000,然后查看新创建的文件和目录的权限。

目录和文件权限和归属

5.将umask设置为0012,然后然后查看新创建的文件和目录的权限。
分析:因为文件的默认权限上限是666,没有可执行权限,所以权限没办法-1,只能-2或者-4

目录和文件权限和归属

 

目录和文件权限和归属

上一篇:JVM-03-本地方法接口和本地方法栈


下一篇:Git使用及原理