第二部分 Linux文件、目录与磁盘格式
第6章 Linux的文件属性与目录配置
6.1 用户与用户组
文件拥有者
用户组的概念
其他人的概念
Linux用户身份与用户组记录的文件
在Linux系统中,默认情况下,所有系统帐号与一般身份用户,以及root的相关信息,都记录在/etc/passwd文件内。密码记录在/etc/shadow文件中。Linux所有的用户组名称都记录在/etc/group内。
6.2 Linux文件权限
6.2.1 Linux文件属性
例:-rwxrwxrwx 1 root root 293 Oct 19 21:24 test
1. 第一列表示这个文件的属性。
这一列共有10个属性。
第一个属性表示这个文件是“目录、文件或连接文件等”:[d],目录;[-],文件;[l],连接文件(link file);[b],设备文件中可供存储的接口设备;[c],设备文件中的串行端口设备,例如键盘、鼠标。
接下来的属性中,3个为一组,且均为“rwx”3个参数的组合。其中,[r]表示可读(read)、[w]表示可写(write)、[x]表示可执行(execute)。
第一组为“拥有者的权限”,第二组为“同用户组的权限”,第三组为“其他非本用户组的权限”。
x与目录的关系相当重要,如果在该目录下不能执行任何命令的话,那么自然也就无法进入了。因此,请特别注意,如果想对他人开放某个目录的话,请记住,开放该目录的x属性。
2. 第二列表示连接占用的节点(i-node)。
3. 第三列表示这个文件(或目录)的“拥有者”。
4. 第四列表示拥有者的用户组。
5. 第五列为这个文件的大小。
6. 第六列为这个文件的创建日期或者是最近的修改日期。
7. 第七列为这个文件的文件名。
6.2.2 更改文件权限
1. 更改所属用户组,chgrp
2. 更改文件拥有组,chown
将文件复制给其他人,使用cp命令。但是复制后的文件还是保持原来的属性,有可能产生权限使用的问题。这时就要使用chown或chgrp来修改文件属性。
3. 更改9个属性,chmod
数字类型改变文件权限
这9个属性中3个为一组,其中,可以使用产表示各个属性,即:r:4;w:2;x:1。
符号类型改变文件权限
可以通过u、g、o来表示3组的属性。a表示all,即全部的3组。读写属性可以写成:r、w、x。连接符为:+(加入);-(除去);=(设置)。
假如要设置一个文件的属性为“-rwxr-xr-x”,应这样做:chmod u=rwx,go=rx .bashrc
如果不知道原先的文件属性,但想增加.bashrc文件的每个人均可写的权限,可以这么写:chmod a+w .bashrc
如果要去掉所有人的x属性,如下所示:chmod a-x .bashrc
6.2.3 目录属性的意义
对于目录来说,r、w、x的意思如下:
r(read contents in directory): 表示具有读取目录结构清单的权限,所以当您拥有读取(r)目录的权限时,就可以利用ls命令将该目录的内容列出来。
w(modify contents of directory):拥有更改该目录结构清单的权限。
x(access directory):x与能否进入该目录有关。