项目四 配置与管理文件系统

项目四 配置与管理文件系统

#职业能力目标和要求
理解 Linux文件系统结构。
能够进行Linux系统的文件权限管理,熟悉磁盘和文件系统管理工具。
掌握Linux系统权限管理的应用。

4.1 全面理解文件系统和目录

4.1.1 认识文件系统

(1)Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。

**(2)Ext4:**该文件系统能够批量分配block块,从而提高读写效率。(RHEL 6 的默认文件管理系统)

**(3)XFS:**一种高性能的日志文件系统,而且是RHEL 7的默认文件系统。优势在发生宕机时恢复数据特别快!而且强大的日志功能只用花费极低的计算和存储性能。

Linux内核中的软件层为用户程序提供了一个VFS(虚拟文件系统)接口,

1.png

4.1.2 理解Linux文件系统目录结构

Linux系统中一切都是文件。并且按照文件系统层次标准采用数状结构来存放文件

2.png

3.png

4.png

4.1.3 理解绝对路径和相对路径

  • 绝对路径:由根目录(/)开始写起的文件名或目录名称。如/etc/sysconfig/network-scripts/
  • 相对路径:相对于目前路径的文件写法。如/…/sysconfig/network-scripts/
  • . :表示当前的目录,也可以使用./来表示。
  • … :表示上一层目录,也可以用…/来表示。

4.2 管理Linux文件权限

4.2.1 理解文件和文件权限

1,根据赋予权限的不同,3中不同的用户**(所有者,用户组或其他用户)**能够访问不同的目录或者文件。

2,在Linux系统中,如果文件名是以”.“开始,表示为隐藏文件,需要使用”ls -a“才能显示。

3,用"ll"命令查看

1.png

4,第一套权限控制访问自己的文件权限,第二套权限控制用户组访问其中一个用户的权限,第三套用户权限控制其他所有用户访问一个用户的文件权限。就构成了一个9种类型的权限组。

5.png

4.2.2 详解文件的各种属性信息

1,第一组为文件类型权限

d:表示一个目录。

-:表示普通文件。

l:表示一个符号链接文件,其实它指向另外一个文件。

b,c:分别表示为区块设备或其他的外围设备,是特殊类型的文件。

s,p:这些文件关系到系统的数据结构和管道。

(1)

6.jpg

(2)按权限种类的不同,也分为3种类型。

r(读):对于文件,具有读文件的权限;对于目录,具有浏览目录的权限

w(写):对于文件,具有新增/修改文件内容的权限;对于目录,具有删除/移动目录内文件的权限

x(执行):对于文件,具有执行的权限;对于目录。具有进入目录的权限

-:表示不具备该项权限。加权限:(umask +权限数)

用户登录系统时,用户环境就会自动执行umask命令来决定文件、目录的默认权限。

2,第2组表示有多少文件名连结到此节点( i-node )

3,第三组表示这个文件(或目录)的拥有者账号

4,第四组表示这个文件的所属群组

5,第五组为这个文件的容量大小,默认单位为bytes

6,第六组为这个文件的创建日期或者是最近的修改日期

  • 如果想要显示完整的时间格式,可以利用ls -l --full-time

7,第七组为这个文件的文件名

4.2.3 使用数字表示法修改权限

可以使用chmod命令修改权限

chmod	选项	文件

数字表示法:读(r),写(w),执行(x)分别以数字4,2,1来表示。没有授予的就是0。

**例如:**不希望别人看到可以设置740的权限

4.2.4 使用文字表示法修改权限

1,文字表示法

(1)字母表示不同用户

  • u:所有者
  • g:属组
  • o:其他用户
  • a:以上三种用户

(2)字符组合表示法设置操作权限

  • r:(read)可读
  • w:(write)可写
  • x:(execute)执行

(3)操作符号

  • +:加权限
  • -:减去权限
  • =:赋予指定权限并取消原权限

修改目录权限和修改文件权限相同,都是使用chmod命令,但不同的是,要使用通配符“*”来表示目录中所有文件。如果目录中含子目录,则必须使用-R。

2,利用chmod命令可以修改文件的特殊权限

例如:文件的SUID权限,就可以使用u+s加权限

特殊权限也采用数字表示法。SUID,SGID,sticky权限分别为4,2,1。(加到普通权限数字前即可)

在+与-的状态下,只要不是指定的项目。权限是不会变动的。

4.3 修改文件与目录的默认权限与隐藏权限

1,文件权限包括读(r),写(w),执行(x)。

2,决定文件类型的属性包括目录(d),文件(-)连接符等。

3,修改权限的办法(chgrp,chown,chmod)。

  • chgrp命令
  • chown命令
  • chmod命令

4,设置系统隐藏属性使用chattr命令,使用lsattr命令可以查看隐藏属性。

5,基于安全机制的考虑,设定文件不可修改的特性,即文件的拥有者页不可以修改。

4.3.1 理解文件预设权限:umask

**umask命令:**指定的就是用户在建立文件或目录时的默认权限。

查看权限的方法:

  • 直接输入:umask,可查看数字形态的权限设定。(有四组,第一组是特殊权限)

image.png

  • 加-S,以符号类型的方式显示权限。

目录/文件权限解读:

  • 建立文件的权限最大666.(就是没有x权限)-rw-rw-rw-(当创建文件时权限:-rw-r–r–)

  • 建立目录的权限最大777.(全要)drexrwxrwx(当创建目录时权限:drwxr-xr-x)

  • 去除权限的时候直接加减(r,w,x(4,2,1))

4.3.2 利用umask

1,新建文件的权限应该为-rw-rw-r–(当我们需要新建文件给同群组的使用者共同编时使用:umask 002)

2,umask与新建文件及目录的默认权限有很大关系。这个属性可以用在服务器上,尤其是文件服务器(file server)上。

3,umask为002,所以去掉的权限为:--------wx,因此

  • 文件权限为:-rw-rw-r–
  • 目录权限为:drwxrwxr–

4,root的umask值默认是002是基于安全的考虑,对一般用户,通常umask为002,即保留同组的写入权限。

4.3.3 设置文件隐藏属性

**1,chattr命令:**改变文件属性。

语法:chattr [-RV]	[-v<版本编号>]	[+/-/=<属性>]	[文件或目录]	

该命令可改变存放在ext4文件系统上的文件或目录属性。共8种属性:

  • a:系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果是目录则,只可建/改文件,不可删。
  • b:不更新文件或目录最后存取时间。
  • c将文件或目录压缩后存放。
  • d:将文件或目录排除在操作之外。
  • i:不得任意改动文件或目录。(该指令关乎数据安全)
  • s:保密性删除文件或目录
  • S:即时更新文件或目录。
  • u:预防意外删除。
  • -R:递归处理
  • -v<版本编号>:设置文件或目录版本
  • -V:显示指令执行过程
  • +/-/=:开启/关闭/指定文件或目录的该项属性

在系统的数据安全方面很重要。

如果是log file(日志文件),需要+a属性:增加但不能修改与删除旧数据。

**2,lsattr命令:**显示文件隐藏属性

语法:lsattr [-adR]	文件或目录

-a:显示隐藏文件的属性

-d:如果是目录,仅列出目录本身的属性而非目录内的文件名

-R:连同子目录的数据一并列出

4.3.4 设置文件特殊权限:SUID,SGID,SBIT

4.4 文件访问控制列表

ACL:文件访问控制列表。基于普通文件或目录设置ACL其实就是针对指定用户或用户组设置文件或目录的操作权限。

如果针对某个目录设置了ACL,则目录中的文件会继承其ACL;若针对文件设置了ACL,,则文件不再继承其所在目录的ACL。

4.4.1 setfacl命令

用于管理文件的ACL规则。格式为**“setfacl [参数] 文件名称”**

-m:设置后续acl参数
-x:删除后续acl参数
-b:删除全部的acl参数
-k:删除默认的acl参数
-R:递归设置acl,包括子目录
-d:设置默认acl

2.png

针对目录文件需要使用-R递归参数;针对普通文件可以使用-m参数;如果要删除某个文件的ACL,可以使用-b参数。

1.png

4.4.2 getfacl命令

显示文件设置的ACL信息,格式为“getfacl 文件名称”

1.png

4.5 企业实战与应用

1,情境及需求

情境:假设系统中有两个账号,分别是alec与arod,这两个账号除了支持自己的群组,还共同支持一个名为project的群组。如这两个账号需要共同拥有/srv/ahome/目录的开发权,且该目录不允许其他账号进入查阅,请问该目录的权限应如何设定?

**目标:**了解为何项目开发时,目录最好设定SGID的权限。

**前提:**多个账号支持同一群组,且共同拥有目录的使用权。

**需求:**需要使用root的身份运行chomd,chgrp等命令。帮用户设定好他们的开发环境。

2,解决方案

(1)制作出这两个账号的相关数据。

3.png

(2)建立所需要开发的项目目录。

4.png

(3)从上面的输出结果可发现alex和arod都不能在该目录内建立文件,因此需要进行权限与属性的修改。

5.png

(4)分别以两个使用者来测试!

6.png

(5)加入SGID的权限,并进行测试。

7.png

(6)测试:使用alex来建立一个文件,并查阅文件权限。

8.png
由于两个账号均属于此群组,加上umask都是002,这样两个账号才可以互相修改对方的文件。

  • 15
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值