目录和文件权限和归属
一、文件、目录的权限及归属
在Linux文件系统的安全模型中,为系统中的文件赋予了两个属性:访问权限和文件所有者,简称“权限”和“归属”。其中访问权限包括读取、写入、可执行三种基本类型,归属包括属主(拥有该文件的用于账号)、属组(拥有该文件的组账号)。
Linux系统根据文件和目录的访问权限、归属来对用户访问数据的过程进行控制。
1.查看文件、目录的权限和归属
使用ls -l命令时,将以长格式显示出文件的详细信息,其中包括了该文件的权限和归属等参数
长格式显示详细信息的格式为
[root@cheng0307 ~]# ls -l /etc/passwd #列出etc/passwd文件的详 |
-rw-r--r--. 1 root root 2235 4月 14 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