文件系统设计中,使用了denty,inode,fs,file等关键性数据结构其中.doc

文件系统设计中,使用了denty,inode,fs,file等关键性数据结构其中.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件系统设计中,使用了denty,inode,fs,file等关键性数据结构其中

Linux的VFS文件系统设计中,使用了denty,inode,fs,file等关键性的数据结构.其中dentry和inode用来记载相关的单个文件的管理信息,例如文件名字,创建者,创建日期,文件大小,文件物理存储地址等等. 那么,为什么要用两个数据结构,而不是合并成一个数据结构来记载这些信息? (问题1), file数据结构记载了某个进程使用文件的现场情况,例如文件访问指针等,当用户进程打开文件准备操作时,内核必然要为这个进程创建file数据结构,然后才能依赖此结构分数次访问文件.那么有没有不需要打开操作就可以使用的文件?如果没有这样的经历,那么设想一下,内核有没有必要提供一些默认的不需要用户打开就可以操作的文件,为什么?(问题2), Linux的文件系统中有三种类型文件: 磁盘文件,设备文件,特殊文件.请从文件的数据和管理信这两方面来分析一下这三类文件的区别(问题3), 文件的权限与系统的数据安全息息相关,请说明Linux操作系统管理文件权限的方法(问题4) 第1小问答案:用一个数据结构的话,在存储数据,会造成数据的冗余性,使得存储量过大,浪费不必要的空间。 第2小问答案:有没有不需要打开操作就可以使用的文件:答,有这样的文件。 内核有没有必要提供一些默认的不需要用户打开就可以操作的文件:答:有 必要。因为提供这样的文件可以较为方便的操作一些操作系统级别的问题。 第3小问答案:磁盘文件:来自与日常数据,比如各种应用的录入等; 设备文件:来自各硬件的基本信息,比如各种硬件的驱动等; 特殊文件:可能是来自用户的录入信息文件,或者文本文件等,可以归属于磁盘文件。 第4小问答案:Linux中,每一个文件都具有特定的属性。主要包括文件类型和文件权限两个方面。可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。   所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户或组联系起来。访问控制列表(ACL:Access Control List)为计算机提供更好的访问控制,它的作用是限制包括root用户在内的所有用户对文件、资源或者套接字的访问。下面就来说说设置方法。   步骤1 检查系统核心   首先检查你的Linux系统的核心是否有支持ACL的功能。因为Linux系统并不是每一个版本的核心都有支持ACL的功能,而最简单的方法就是检查系统目前的核心能否支持:   [root@mail /]# cat /boot/config-kernel-version   grep -i ext3   CONFIG_EXT3_FS=m   CONFIG_EXT3_IDEX=y   CONFIG_EXT3_FS_XATTR_SHARING=y   CONFIG_EXT3_FS_XATTR_USER=y   CONFIG_EXT3_FS_XATTR_TRUSTED=y   CONFIG_EXT3_FS_ACL=y   此时如果能看到上面的几项则表示已经编译到核心中,ext3文件系统已支持ACL功能,这些功能在编译核心选项中都可以找到。如果编译时找不到,可以到ACL的官方网站来安装Kernel(acl.bestbits.at/)。   步骤2 挂载分区   你可以用下列的方式挂载分区并启用ACL:   #mount -t ext3 -o acl /dev/sda1 /fs1   你也可以直接写在/etc/fstab文件中,这样就可以在开机后支持ACL功能:   #vi /etc/fstab   步骤3 设置ACL权限   ACL常常针对个别用户来进行设置,下面是多个不同的例子:   例如需要创建test1、test2、test3三个用户,可以先用root身份登录系统,然后执行以下命令分别创建三个用户名和密码:   [root@mail root]#adduser test1   [root@mail root]#adduser test2   [root@mail root]#adduser test3   [root@mail root]#passwd test1   [root@mail root]#passwd test2   [root@mail root]#passwd test3   然后mount一个ext3文件到目录/fs1:   [root@mail root]#mount -t ext3 -o acl /dev/s

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档