利用多重读取控制清单(
MACL
)的机制,仅需为
/data/file1
设置下面几项权限。
⑴ koma可以读取、写入。
⑵ paul可以读取、写入。
⑶ users群组只读。
⑷ others其他人没有任何权力。
必须使用getfacl与setfacl来查看或配置文件的多重权限数据:
getfacl files
...
setfacl [-m|-x]
acls
...
files
...
其中acls为每一组权限数据,语法如下所示:
field : name : perm
⑴ fiedl :代表权限的字段,可为u、g、o分别代表拥有者、拥有群组及其他人。
⑵ name : 是用户或群组的名称。
⑶ perm :是权限,可以指定r、w、x等权限。
⑷ setfacl的-m参数用来修改files某一条的多重权限;
⑸ –x :则是删除files的某一条权限。
下面我们来用实例看看如何操作的:
①
查看文件
file1
文件的权限。
②
参数
a-rwx
表示把任何人的权限都去掉。
③
验证了:任何人都没有权限。
④
Koma
试着去
cat file1
时,发生了错误。显示“
permission denied(
拒绝不符权限的操作
)
”的错误信息。
⑤
用
setfacl
命令,增加
file1
一组权限:让
koma
这个用户具备
r(
读取
)
的权限。
⑥
验证了且增加了一个“+”符号,+
:
代表此文件已经设置了多重权限!
⑦
用
getfacl
命令查看
file1
的多重权限数据,有一条针对
koma
用户的,其权限为
r -
-
。
思考:(
⑧
输入下面
2
条命令看看有何变化?)
1
、
[root@RHEL5 ~]# cd /mnt/tmp/
2、[root@RHEL5 ~]# su koma -c 'cat file1'
目前
RHEL
中,可以为每一个
ext2
文件系统设置一个卷标名称(
Label Name
),
ext2
有了标签名称后,就可以在各种文件系统管理工具中利用标签名称取代分区的设备文件名称了。
思考:
ext2
文件系统为何要提供卷标名称的功能???
用什么作为标签名称由自己作主!但建议用文件系统的挂载点路径作为标签名称。
eg:
一般习惯将
/dev/hda8
挂载到
/mnt/tmp/
,于是我们就可把
/mnt/tmp/
作为
/dev/hda8
这个文件系统的卷标名称。这样做的好处:在救援环境中,直接从
ext2
文件系统的卷标名称获知文件系统原先的挂载点路径,如此一来,将能帮助我们快速的修复
RHEL
。
查看
/
设置
ext2
文件系统的卷标名称都使用
e2label
命令:
e2label device [labelname]
⑴
device
:就是
ext2
文件系统的设置文件;
⑵ labelname :则为要设置的标签名称;
⑶ 不指定
labelname
,则表示只查看目前设置的标签名称而已。
我们一起来看看实例吧:
①
查看/dev/hda8 ,目前未设置任何卷标名称,故显示的是空的标签名称。
②
用e2label命令指定/dev/hda8的标签名称为/mnt/tmp 。
③
再使用e2label命令查看/dev/hda8 ,现在显示/mnt/tmp这个卷标名称了。
④
除了使用e2label命令外,还可使用findfs命令来搜寻某个标签名称是哪一个文件系统。
温馨提醒:
设置
ext2
的标签名称时,必须注意
2
件事:
⑴ ext2的卷标名称实际上记录在ext2文件系统中,若重新制作过文件系统,则原有的ext2标签名称就会失去作用,故必须重新设置一次。
⑵ 修改过某一个ext2文件系统的卷标名称后,也得同时更改相关配置文件中标签名称的设置,否则,将可能导致RHEL无法顺利开机。
为ext2文件系统设置卷标名称后,可以在mount、umount、fsck等工具中使用LABEL = LABELNAME的格式取代原先的设备文件名称了。
①
/dev/hda8
的标签名称是
/mnt/tmp
。
②
没有挂载
/dev/hda8
这个文件系统。
③
使用
LABEL = LABELNAME
告诉
mount
命令去挂载一个标签名称为
/mnt/tmp
的文件系统到
/mnt/tmp/
目录。意即:
LABEL = /mnt/tmp
取代
/dev/hda8
设备。
④
查看挂载成功!
Ttune2fs
显示的信息表(比较重要的)
字段
|
说明
|
①
Filesystem volue name
|
ext2
文件系统的卷标名称(Label Name)
|
②
Last mounted on
|
最后一次挂载的路径
|
③
Filesystem features
|
文件系统的功能
|
④
Default mount options
|
默认的挂载参数
|
⑤
Filesystem state
|
文件系统目前的配置
|
⑥
Inode count
|
此文件系统上总共有多少索引节点
|
⑦
Block count
|
此文件系统上区块(block)的数量
|
⑧
Reserved block count
|
这个ext2文件系统保留了多少区块作为特殊使用
|
⑨
Block size
|
每一个区块的大小,单位为bytes
|
Ttune2fs
显示的信息表(比较重要的)续
字段
|
说明
|
①
Filesystem created
|
文件系统建立的时间
|
②
Last mount time
|
最后挂载的时间
|
③
Last write time
|
这个文件系统最后写入的时间
|
④
Mount count
|
挂载的次数
|
⑤
Last checked
|
该文件系统最后检查的时间
|
⑥
Check interval
|
默认检查文件系统的时间间隔,单位是秒
|
⑦
Reserved block uid
|
保留区块的拥有者的UID
|
⑧
Reserved blocks gid
|
保留区块的拥有者的GID
|
3.2 ext3
文件系统
Eext3
是第三代延伸式文件系统(3rd extended filesystem)的缩写,是ext2的改良版本,同时也是RHEL建议使用的文件系统。
为何RHEL会推荐使用ext3呢?主要是因为ext3文件系统具备下列几项特性。
Eext3
的第一项特色,就是与ext2完全兼容,故ext2提供的功能、特色也同样加ext3上;当然,ext2的管理工具,例如:上节介绍的e2label、lsattr、chattr、tune2fs等,自然也可应用在ext3上。
正因为ext3与ext2完全兼容,RHEL允许使用mount –t ext2强迫把ext3文件系统挂载成为ext2 。 不过,若果真如此,则会失去ext3增强的功能。
3.2.2
调整文件系统
有时我们建立的文件系统,过段时间可能会不再使用。以前如果要扩大文件系统的空间,要先建立一个较大的分区且在该分区里建立一个新的文件系统。挂载起来后,再把旧的文件数据复制或剪切到新的文件系统上,然后卸载旧的文件系统并删除旧的文件系统与分区。哈……哈……麻烦不???
现在使用ext3文件系统,则可直接使用resize2fs工具直接调整文件系统:
resize2fs [options...] device [newsize]
⑴ options : 是resize2fs工具的参数。
⑵ device : 要调整的文件系统的设备文件名称或标签名称。
⑶ newsize : 是调整后的大小。
⑷ 省略newsize :则默认就是调整到分区的大小。
使用resize2fs工具调整文件系统时,必须注意下面的事项:
⑴ resize2fs只能调整ext3文件系统,不支持其他的文件系统。
⑵ 若放大文件系统,必须先将其挂载;若要缩小文件系统,则必须先卸载。此皆因截至目前为止,resize2fs只支持在线放大和离线缩小。
⑶ 放大时,不能超过分区大小;缩小时,缩小后的文件系统必须小于已使用的大小。
惯例!下面使用resize2fs来调整文件系统的例子:
①
将/dev/hda8挂载在
/mnt/tmp/
中且/dev/hda8是一个ext3文件系统。
②
/dev/hda8
分区的大小是:
104388
×
1K
≈
100M
,而第2个②处提示:
(/dev/hda8)文件系统已经是104388个区块(即本分区的最大值
100M
),不能放大了。
③
提示:resize2fs不支持在线缩小!注:resize2fs只支持在线放大和离线缩小 !!!
④
既然不支持在线缩小,那么我们来卸载之。
⑤
将/dev/hda8缩小至
50M
,并提醒我们们执行
e2fsck –f
的动作,以确保文件系统的完整性。
⑥ 第2个⑤处
执行
e2fsck –f /dev/hda8
。
①
再次缩小文件系统(即:将/dev/hda8缩小至
50M
)
②
看!成功了!目前/dev/hda8只有
50M
了。
①
目前/dev/hda8只有
50M
。
②
使用
resize2fs
把/dev/hda8放大至最大值,也就是分区的大小。
③
验证了/dev/hda8最大值确实是
100M
。
本文转自
beyondhedefang 51CTO博客,原文链接:http://blog.51cto.com/beyondhdf/258746 ,如需转载请自行联系原作者