第03章-Linux的文件权限与目录的配置_第1页
第03章-Linux的文件权限与目录的配置_第2页
第03章-Linux的文件权限与目录的配置_第3页
第03章-Linux的文件权限与目录的配置_第4页
第03章-Linux的文件权限与目录的配置_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文件系统是Linux操作系统重要的组成之一,承担信息的组织、管理和维护任务等。而文件则是Linux系统中信息的存储、读写和执行的基本单位。操作系统正是通过文件系统管理信息的存储、传输和加工等多种处理功能的。

第三章Linux的文件权限与目录配置

本章主要介绍文件系统的的基础知识,讨论文件系统的层次结构和组织结构,介绍文件的权限、文件类型和目录配置的问题。

Linux最优秀的地方在于它的多用户、多任务环境。而为了让各个使用者具有较安全的管理机制,因此文件的权限管理就变的很重要了。

Linux一般将文件可存取的方式分为三个类别,分别是:owner、group、other,且各有read、write、excute

等权限。若管理得当,将会让你的Linux主机变的较为安全。那么,在Linux下面这么多的目录、文件,到底代表什么意义呢?1文件与文件系统

用户在使用操作系统时,最经常用的就是文件系统。特别地,在Linux操作系统中把CPU、内存以外的所有设备都抽象为文件来处理。

进程只和文件系统发生关系,当进程使用计算机系统中的硬件设备时,由文件系统屏蔽掉硬件设备的具体特性和如何提供服务等细节,这些具体细节由操作系统的设备管理模块实现并为文件系统提供一个简单、统一的接口。因此,在Linux系统中文件系统也是设备管理模块的接口。

1.1文件的概念

文件是存储在某种存储介质上具有标识名的一组相关信息集合。文件具有以下特性:

1、任何具有独立意义的一组信息都可以组织成一个文件。

2、可保存性。

3、可按名存取,无需了解它在存储介质上的具体物理位置。

Linux系统中的一切都是以进程或文件的形式存在。例如:Linux系统把鼠标看成文件/dev/mouse,目录也是一种文件类型,内核被看成vmlinuz文件或bzImage文件。甚至终端也被看成文件(如/dev/tty2)。因此、要让Linux系统平稳地运行,必须要了解文件和文件结构。在DOS/Windows系统中,文件的属性有:只读、隐藏、系统和存档四种。而在Linux系统中,文件的属性主要包括文件类型和文件权限两个方面,如图1所示。 1.1.1文件类型

在Linux系统中,文件是Linux操作系统的基本数据组织单位,所有的输入输出都是通过文件实现的,系统处理的任何设备和数据均可以归结为对文件的操作。从理论上讲,能够读写普通文件的任何程序都可以读写任何I/O设备。从用途方面划分,一个文件可以是如下几种类型:文档----也即是普通的文本文件,包括脚本、程序源代码、配置数据和日志等。命令----大多数命令都是可执行的二进制文件,也就是说,命令式可以执行的程序文件。目录----目录是一个包含文件名列表的数据文件。设备----包括终端、打印机、磁盘和磁带机等。普通文件Linux系统中,普通文件简称为文件。所谓文件,实际上是一个命名的数据集合,是一组信息的基本存储单位。通常,每个文件都拥有一个名字,通过名字,可以对文件的数据内容进行处理。所有用编辑程序、语言编译程序、数据库管理程序等产生的文本文件、二进制文件、数据文件等都是普通文件,它是一种无结构的流式文件。

Linux系统并不刻意区分文件的类型(注意和windows对比),是否能从文件名本身,知道其类型?从用户的角度来看,普通文件可以分为两种类型:即文本文件和二进制数据文件。

Linux文件系统中,提供下述文件操作:

open\create\read\write等。目录文件

用于存放文件名和其他有关文件信息的文件,即用于检索文件的文件。目录文件可以包含下一级目录文件和普通文件,每一级的目录文件都是如此以便在系统中形成一棵目录树。

Linux的目录文件由目录项构成,它包括两个部分:即文件名和文件号(信息节点号),文件号被称作i节点号i_number。

要注意的是Linux下的目录文件与DOS/Windows下的“目录”不同,Linux这样做的目的是为了加快文件检索的速度。

DOS/Windows下的目录也是由目录项构成,但是它的目录项中没有文件号,而是列出每个文件的属性、起始簇号、创建日期、修改日期等等,长度远大于16个字节。

Linux下目录文件只包含文件名和文件号,目的是减少目录项的长度。

这样在搜索文件时根据文件名进行比较,找到该文件名后再从对应的文件号(i_number)找出该文件的其他信息。由于目录项短,相同容量下可存储的目录项就多,找到文件的几率就大,所以可以加快文件检索的速度。

为了保证目录的完整性,操作系统不允许用户直接修改目录文件。用户可以在目录中创建文件,由操作系统把文件加到目录中。当用户删除文件时,由操作系统从目录文件中删除相应的文件名,目录文件始终是由操作系统维护的。每个用户都拥有一个属于自己的目录,称为主目录。在系统访问期间,用户所在的目录称为当前目录、工作目录或者当前工作目录。与目录操作有关的系统调用命令:

mkdir()rmdir()getdents()链接文件Linux提供一个机制,是之能够采用不同的文件名引用同一数据或者程序,也即是把同一数据或者程序赋予不同的文件名,这种文件称为链接文件,也称为硬链接文件。当调用不同目录中的同名程序时,或者以不同的名字调用同一程序时,执行的是同一程序的副本。

采用链接文件有什么好处?硬链接和软连接见下图1)硬链接hardlink

硬链接指向文件的i节点。用ln命令就可以创建一个硬链接。ln[option]source_filedist_file

(source_file是待建立链接文件的文件,dist_file是新创建的链接文件)

-f建立时,将同文件名删除.

-i删除前进行询问.

例:给某图片文件建立硬链接硬链接可认为是一个文件拥有两个文件名;

不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多1)软链接symboliclink

软链接则是系统新建一个链接文件,此文件指向其所要指的文件。它又叫符号连接,相当于Windows下的快捷方式。ln-ssource_filedist_file

例:给某文本文档建立软链接利用软链接,可以照顾用户以往的上机习惯,把之前常用的命令名链接到新增的命令,实现命令名字的借用或者间接引用。

软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬链接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。(1)软链接可以跨文件系统,硬连接不可以。(2)软链接可以对一个不存在的文件名进行连接。(3)软链接可以对目录进行连接。软链接和硬链接的对比(4)关于i节点的问题。

硬链接不管有多少个,都指向的是同一个i节点,会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实也不分什么源文件连接文件的,因为他们指向都是同一个i节点)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。

软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.软链接和硬链接的对比设备文件

在Linux系统中,设备文件通常存放在/dev目录下。从设备文件的名称可以看出它使用设备的主设备号和次设备号来指定外设,主设备号用于说明设备类型,而次设备号用于说明具体是哪一个设备。设备文件还可细分为块设备和字符设备两种。块设备指以固定长度的数据块为单位来组织和传送数据的设备,如磁盘、磁带等;字符设备指以单个字符为单位来传递信息的设备,如终端显示器、打印机等。大多数设备都同时提供数据块和字符两种数据访问方式,但是每一种设备都有其最佳的访问方式。4个特殊文件的作用:1)/dev/null是一个数据回收站或者漏斗文件,也是一个无底洞,只要写入这个文件,数据就会消失。2)/dev/zero可以提供任意数量的数值0.如果写入这个文件,数据将会消失,其作用等同于/dev/null3)/dev/men提供计算机的物理内存接口,是Linux系统的内存映像。读取该文件的字节地址将被解释为物理内存地址。4)/dev/kmem提供系统内核的虚拟内存接口。如果没有这个接口,开发人员必须知道系统内核代码以及数据在物理内存中的起始位置。2文件的权限文件所有者

初次接触Linux的同学们大概会觉得很奇怪,怎么“Linux有这么多用户,还分什么用户组,有什么用?”。这个“用户与用户组”的功能可是相当健全而好用的一个安全防护。用户组概念那么用户组呢?为何要配置文件还有所属的用户组?其他人的概念Linux用户身份与用户组记录文件与UserGroupothers有关的信息记录在/etc/passwd/etc/shadow/etc/group2.1Linux文件属性大致了解了Linux的使用者与群组之后,接着下来,我们要来谈一谈,那么这个文件的权限要如何针对这些所谓的“用户”和“用户组”来设置?这个部分是相当的重要的,尤其对于初学者来说,因为文件的权限与属性是学习Linux的一个相当重要的关卡,如果没有这部份的概念,那么你将老是听不懂别人在讲什么。既然要让你了解Linux的文件属性,那么有个重要的也是常用的指令就必须要知道,即“Sls”。这是一个查看文件的命令。当以root身份登录后,执行“ls-al”,如下图所示。ls是“list”的意思,与在早期的DOS年代的指令dir类似功能。而参数“-al”则表示列出所有的文件(包含隐藏文件,就是档名前面第一个字符为.的那种文件)。第一列代表这个文件的类型与属性(permission)当为[d]则是目录,例如上表的第11行;当为[-]则是档案,例如上表的第5行;若是[l]则表示为连结档(linkfile);若是[b]则表示为装置文件里面的可供储存的接口设备;若是[c]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。

接下来的属性中,三个为一组rwx例:若有一个文件的类型与权限数据为“-rwxr-xr—”,请说明其意义。第二列代表有多少文件名连接到此节点(i-node)每个文件名都会连接到一个i-node第三列代表文件或者目录的“所有者账号”第四列代表文件的“所属用户组”第五列代表文件的容量大小,默认单位是B

第六列代表文件的创建日期或者最近的修改日期注意:1)如果文件被修改的时间距离现在太久,时间部分只会显示年份

2)要想显示完整的时间格式,可以使用ls参数

3)如果以中文安装系统,会出现乱码,则使用“LANG=en_US”修改语言;或者修改配置文件。

第七列代表文件名查看隐藏文件,可以使用”s“以及”ls-a“例2:假设test1、test2、test3同属于testgroup这个用户组,如果有下面2个文件,请说明2个文件的所有者与其相关权限。-rw-r--r--1rootroot123Jun1815:21test.txt-rwxr-xr--1tset1testgroup453Jun1112:13iuy_tsa例3:如果某目录为下面的样式,请问tsetgroup这个用户组的成员与其他人是否可以进入本目录?drwxr-xr--1tset1testgroup6543Jun1215:13group/2.2改变文件属性与权限本节,我们将学习如何修改一个文件的属性与权限;又有多少文件的权限我们可以修改?下面先介绍几个常用用户组、所有者、各种身份的权限的修改命令:•chgrp:改变文件所属用户组•chown:改变文件所有者•chmod:改变文件的权限1)改变所属用户组直接以chgrp来实现。但是需要注意的是:

要被改变的组名必须要在/etc/group的文件内存才行,否则会发生错误。chgrp[-R]dirname/filename...参数:-R:进行递归的持续变更。即连同目录下的所有文件、目录都更新成为这个群组之意。常常用在变更某一目录内的所有文件情况。例4:将bbq.jpg文件的用户组改为users或testing。2)改变文件所有者直接以chown来实现。但是需要注意的是:

用户必须是以及存在于系统中的账号,也就是在/etc/passwd这个文件中已有记录的用户才能改变。chown还可以顺便直接修改用户组的名称。chown[-R]账号名称文件或者目录chown[-R]账号名称:组名文件或者目录参数:-R:进行递归的持续变更。即连同目录下的所有文件都更改。例5:将bbq.jpg文件的所有者改为messi,然后将其所有者与用户组改回为ubuntu。问:什么时候要使用chown或者chgrp?最常见的例子就是在复制文件给你以外的其他人的时候。例6:将.bashrc这个文件复制称为.bashrc_test文件名,并且是要给messi这个人。3)改变权限直接以chmod来实现。有2中方法来实现:

使用数字或者符号来更改。数字类型改变文件权限

即以数字来表示各个权限,各权限对应的分数对照表如下:r:4,w:2,x:1例:-rwxrwx---,问数字权限为多少?语法:chown[-R]xyz文件或者目录例7:将.bashrc这个文件的所有权限都设置启用将权限变成“-rwxr-xr--”?例8:编辑某文件后,它的权限通常为”-rw-rw-r--“,如果将该文件变成可执行文件,并且不要让其他人修改此文件?3)其他访问权限设置默认访问权限无论何时创建的文件,Linux通常都会为用户设置一个默认的访问权限。这种默认的访问权限是由umask实现。当用户注册之后,通过执行其/etc/profile初始化文件,利用该命令,为用户创建的文件设置访问权限。

umask[-S][nnn]nnn为权限的数字代码,但它与chmod命令中的数字代码意义恰好相反。可以把八进制的数字代码“000”变为二进制,以此为基础,如果想屏幕某一权限,可在相应位置置1,最后再转换成八进制的数字代码。例:某用户能够读、写和执行自己的某个文件,同组和其他用户只能读和执行,如何用umask设置权限?符号类型改变文件权限我们知道,一个文件基本有9种权限,分别是

3种身份。那么我们就可以通过

来代表其身份的权限。此外,a代表all,表示全部身份。那么读写权限可以写成r、w、x,如下表所示。u、g、ouser、group、otherschmodu+

-=rwx文件或目录goa例9:把.bashrc文件的权限设置为“-rwxr-xr-x”。例10:如果不知道原来的文件属性,只想要增加.bashrc这个文件的每个人均可以写入的权限,如何实现?

注意:可以统一设置当前目录下所有文件的访问权限2.3文件与目录权限的意义

Linux系统内文件的3中身份,每种身份都有3种权限,并且可以使用3中目录去修改权限与属性。那么,这些文件权限对于一般文件与目录文件有何不同?1)权限对文件的重要性

r:可读取此文件的实际内容;

w:可编辑、新增或者修改文件的内容;

x:该文件具有可以被系统执行的权限;

对文件的r、w、x主要针对“文件的内容”,与文件名的存在与否没有关系。2.3文件与目录权限的意义

2)权限对目录的重要性

r:具有读取目录结构列表的权限;

w:更改该目录结构列表的权限:

新建新的文件与目录删除以及存在的文件与目录(不论该文件的权限为何)重命名转移该目录内的文件、目录位置

x:用户能否进入该目录称为工作目录;

例11:某目录的权限如下所示:drwxr—r--3rootroot4096Sep129:12.ssh

系统中有账号名为ubuntu,这个账号不属于root用户组,请问ubuntu对这个目录有何权限?

例12:假设系统有messi的账号,他的主文件夹在/home/messi/,messi对此目录具有rwx的权限。若此目录下有个名为the.data的文件,该文件权限如下:-rwx------1rootroot3456Sep1819:12the.data

请问messi对此文件的权限是什么?可否删除此文件?

练习:1)用root身份新建所需要的文件与目录环境切换到/tmpcd新建名为testing的目录mkdir更改目录权限为744chmod在testing中新建空文件testingtouch更改该文件权限为600查看该目录和文件的属性ls-ald思考:在上述情况下,一般身份用户对这个目录/文件的权限?2)用一般身份进行测试

新建一新用户useraddXXX设置该用户的密码passwdXXX切换到一般用户su-xxx进入/tmp目录cd查看testing目录属性ls-l进入testing/目录3)该目录属于一般用户本身

退出当前用户身份exit修改权限,让XXX拥有此目录再次切换到一般用户测试是否可以进入该目录testing查看属性删除文件testing?rm2.4Linux文件种类与扩展名我们知道,在Linux中,任何设备都是?,并且数据通信接口也有专门的?负责。除了我们前面讲到的一般文件(?)和目录文件(?)之外,还有哪些种类的文件?1)文件种类

通过命令,我们可以查询该文件的类型,常见的文件类型包括:普通文件---

一般进行访问的文件,包括纯文本文件、二进制文件、数据格式文件;目录文件---

第一个属性为d连接文件类似win系统下的快捷方式,第一个属性为

l

ls-al设备与设备文件---

与系统外设以及存储有关的一些文件,通过都集中在这个目录下;

又分为块(block)设备文件b

和字符(character)设备文件c;套接字(socknet)---

也叫数据接口文件,常用在网络上的数据连接s

;管道(FIFO,pipe)---

它的主要目的是在解决多个程序同时访问一个文件所造成的错误问题p

;/dev2)文件扩展名

基本上Linux没有所谓的‘扩展名’,一个文件能不能被执行,与?有关,与文件名根本没有关系。

注意:可以被执行跟可以执行成功是不一样的。

Linux中,会以适当的扩展名来表示该文件的类型,常用的扩展名:*.sh:脚本或者批处理文件;*.Z*.tar*.tar.gz*.zip*.tgz:打包的压缩文件*.html*.php:网页相关文件3)文件名长度限制Linux使用默认的Ext2/3文件系统时,针对文件名长度限制为:

单一文件或者目录的最大容许文件名为255字符;包含完整路径名称及目录的完整文件名为4096个字符;避免特殊字符3Linux目录配置3.1Linux目录配置标准FHS根据FHS的官方文件指出,其主要目的是希望让用户可以了解到已经安装软件通常放置于那个目录下,所有希望其独立的软件开发商、、操作系统制作者以及想要维护系统的用户,都能够遵循FHS的标准。

FHS的重点在于规

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论