在linux文件系统的安全模式中,为系统中的文件或目录赋予了两个属性:访问权限(权限)和文件的所有者(归属)。
权限:访问权限包括读取、写入、可执行三种类型。(分别用r、w、x或4、2、1表示)
读取r:允许查看文件内容、显示目录列表。
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录。
可执行x:允许运行程序、切换目录。
归属:归属包括拥有该文件的用户账户(属主)和拥有该文件的组账户(属组)。
如下:使用“ls -ld”命令可以查看“/etc/inittab”文件的属性,属性中包括了该文件的权限和归属等参数。
在上述的输出的信息中,第1~4个字段的数据分别表示文件的属性信息。解释如下:
第1字段:第1个字符表示文件的类型,d(目录)、b(块设备)、c(字符设备)“-”(普通文件)、“I”(链接文件)。第2~4个字符表示属主的访问权限。第5~7个字符表示属组访问权限。第8~10个字符表示其他用户的访问权限。
第2字段:表示此文件的链接数量。(硬链接和软链接)
第3字段:表示此文件的属主。
第4字段:表示此文件的属组。
在表示属主、属组内用户或其他用户对该文件的访问权限时,主要使用了三种不同的权限字符:r、w、x。分别表示读取、写入、执行,(还可以使用4、2、1表示)若为“-”时则表示减除该权限。字符形式和数字形式的关系如下图:
如上所述表示一个权限组合时需要将数字进行累加。列如:“rwx”表示为“7”,“r-x”表示为“5”,而“rwxr-xr-x”由三个权限段组成,因此可以表示成“775”,“rw-r--r--”则表示为“644”。
设置目录和文件的权限
chmod命令——设置目录或文件的权限
方法一:
chmod [ugoa] [+-=] [rwx] [文件或目录]
“ugoa”:表示该权限设置所针对的用户类别。“u”代表属主,“g”代表属组,“o”代表其他用户,“a”代表所有用户(即ugo的总和)。
“+-=”:表示设置权限的操作动作。“+”加相应的权限,“-”减相应的权限,“=”代表设置相应的权限。
“rwx”:权限的组合形式,也可以拆分使用。如“rx”、“rw”。
如下:给上面的“inittab”文件设置宿主具有写入权限。
方法二:
chmod [nnn] [文件或目录]
“nnn”:代表权限的数字形式。列如“644”。
如下:还可以使用数字形设置“inittab”文件,属主读写权限,属组读写权限,其他用户读权限。
在使用chmod设置目录权限的时候还经常需要给同一目录下的所有文件设置相同的权限,这时需要使用参数“-R”,表示递归修改目录的权限。(注:通常方法二比较常用。)
设置目录和文件的归属
chown命令——设置目录或文件的归属
chown [属主] [:属组] [文件或目录]
如下:设置“inittab”文件的属组为benet组。
如果同时设置属主、属组时,用户名和组名之间用分号“:”进行分隔。如果只设置属组时,需要使用“:属组”的形式。
如果只需要设置目录或文件的属主,直接以用户名表示归属即可,递归修改目录归属同样可以使用“-R”选项。