Linux档案系统管理(第三篇).doc_第1页
Linux档案系统管理(第三篇).doc_第2页
Linux档案系统管理(第三篇).doc_第3页
Linux档案系统管理(第三篇).doc_第4页
Linux档案系统管理(第三篇).doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

Linux档案系统管理(第三篇)来源:南方Linux (2006-06-20 14:35:51) 1-5 档案权限基本观念每一个Linux档案都具有四种存取权限:可读取(r, Readable)、可写入(w, Writable)、可执行(X, eXecute)和无权限( - )等。管理员必须依据使用者的需求,来授予不同的权限,而且使用者最多可被授予三种的权限。您可以利用ls -l 的指令来检视该档案或目錄的使用权限,它是以显示资料的第一个栏位为準。在第一个栏位中是由10个字元所组成,以下是一个此栏位的范例:在以上的范例中,第一位字元与存取权限无关,它是表示此档案的形态:-表示档案,d表示目录,而l表示连结档案。 而其他的9 个字元共分为三组的存取权限组合: 字元2、3、4表示此档案拥有者的存取权限,有时我们也简称此权限为u (User)的权限。 字元5、6、7表示此档案拥有者所属群组成员的存取权限,例如此档案拥有者属於 admin j群组而此群组中有10个成员,则表示这10个成员都拥有此处指定的权限,有时我们也简称此权限为g (Group)的权限。字元8、9、10表示此档案拥有者所属群组之外的使用者存取权限,行时我们也简称此权限为o (Other)的权限。注意:这9 个字元的权限总和有时我们也简称为 a (All)的权限。有了以上的基本观念后,接下来我们继续讨论有关每个字元的代表意义,这9个字元依据权限种类的不同,也分为三种类型: 字元2、5、8表示读取的权限,若是要授予读取的权限,则可在这三个字元中输入r值,若是不允许读取则输入-。 字元3、6、9表示写入的权限,若是要授予写入的权限,则可在这三个字元中输入w值,若是不允许写入则输入-。 字元4、7、10表示执行的权限,若是要授予执行的权限,则可在这三个字元中输入x值,若是不允许执行则输入-。以上的說明希望读者务必研究清楚,否则接下来的內容可能会令您感到很困感。我们可以稍为整理一下以上的內容,因为这9个字元分別指定三组不同人员的存取权限(字元2、3、4属於拥有者,字元5、6、7属於群组,字元8、9、lO属於其他人员),而且这9个字元也分成三种不同的存取类型(字元2、5、8属於读取权限,字元3、6、9属於写入权限,字元4、7、10属於执行权限)。因此,综合这些观念,这9个字元个別的意义如下表所示:截王目前为止,读者应该可以完全了解档案存取权限的意义,以及运用的方法,现在再重新解读以上范例(-rwxr-xr-x)的代表权限,您应该可以清楚了解以下的意义: 这是一个档案 拥有者被授予读取,写入和执行的存取权限 群组被授予读取和执行的存取权限 其他人员被授予读取和执行的存取权限如果要检视目前使用者的使用者ID (uid)和所属群组ID (gid),则需使用id 指令:jacknsl jack $ iduid=500(jack) gid=500(jack) groups=500(jack) 档案权限修改- chmod在档案建立时系统会自动设定存取权限,但若是这些预设权限无法适合企业环境的需求,此时可以利用chmod(Change Mode)指令来修改存取权限。通常在权限修改时,允许使用二种方式来表示权限类型:数字表示法和文字表示法,这二种表示法各有其优鲇,您可以依习惯来选择。 以数字表示法修改存取权限所谓数字表示法是指将读取(r),写入 (w) 和执行(x) 分別以4、2、l来代表,沒有授予的部份就表示值为0,然后再把所授予的权限相加而成,以下是几个示范的例子:以数字表示法来表示权限虽然比较简单,但是可读性较差,您必须经过简单的換算才可了解原始的权限,下表是以数字表示法可能出现的数字及权限对应,提供读者参考:了 解这种表示法后,就可以开始利用chmod指令来变更权限。本书以/testl/filel.txt档案为例,如果希望拥有者和群组成员都被授予读取和写 入的权限,而其他人只能读取该档案,则我们知道我们应该将权限设为rw-rw-r-而此权限的数字表示法为664,因此您可以输入以下的指令来设定 权限並在设定后检查是否正确:rootnsl root#chmod 664 /test1/file1rootnsl root#ls -l /test1/file1-rw-rw-r- 2root root 180 11月 3 10:53 /test1/file1 以文字表示法修改存取权限权限的另一种表示法是文字表示法,它不是利用数字来表示,所以看起来较复杂,但因为可读性较佳,所以许多人也习惯利用此法来进行权限的设定。使用权限的文字表示法时,系统使用以下4 种字母来表示不同的使用者: 拥有者 - u (User) 群组g (Group) 其他人员 o (Other) 所有人- a (All)而权限仍然使用3种的分类法 读取- r (Read) 写入- w (Write) 执行- x (eXecute)和数字表示法不同的是,文字表示法在设定权限时不仅可以重新指定(用数字表示法的作法相同),也可以由原来的权限来增加或減少权限,它是利用以下三个运算子来执行:本书使用以下的范例来說明,假设/testl/filel.txt目前的权限如下所示:rootnsl root#ls -l /test1/file1-rw-r-r- 2root root 180 11月 3 10:53 /test1/file1若希望将此权限修改为以下的权限:-rwxrw- 2root root 180 11月 3 10:53 /test1/file1由以上的范例要求,我们可以了解权限的变动如下: 拥有者(u)的权限由rw-变为rwx:增加了执行 (x) 的权限。 群组(g) 的权限由g变为rw-增加了写入(w) 的权限。 其他人员 (o) 的权限由r- -变为- - -:減少了读取(r)的权限。所以你可以输入以下的指令:rootnsl root# chmod u+x, g+w, o-r/test1/file1.txt 或rootnsl root# chmod u=rwx, g=rw /test1/file1.txt注意:逗点 (,) 前后不可接空白,否则无法执行指令。以上就是利用数字和文字表示法来修改档案权限的作法,您可以依照个人的操作习惯来选择最适合的方式,笔者建议最好是能熟悉某种表示法,以避免因同时使用二种表示法而造成的混淆。 目錄权限修改虽 然Linux目錄也是属於档案的一种,而且目錄的权限、观念,以及设定大多与档案相同,但是其代表的意义卻大不相同。例如在目錄的层级並沒有所谓的执 行操作,但是目錄仍沿用档案所使用的四种权限名称:可读取(r,Readable),可写入(w,Writable)、可执行(x,eXecute) 和无权限(- )。在目錄中使用的四种权限代表意义如下: 可读取 (r):列出目錄中的內容,与ls的功能相似。 可写入 (w):可在目錄中新增、刪除和修改档案。 可执行 (x):可以使用cd指令来切換至此目錄 无权限 (-):沒有任何此目錄的存取权限要修改目錄的权限和修改档案权限相同,都是使用chmod指令,但是不同的地方是,需使用万用字元 (*) 来表示目錄中的所有档案。例如要同时将/testl目錄中的所有档案存取权限,设定为所有人都可读取及写入,则应该使用以下的指令:rootnsl root# chmod 666 /test1/*或rootnsl root# chmod u=rw,g=rw,o=rw /test1/*如果目錄中简包含其他的子目錄,则必须使用-R (Recursive)参数来同时设定所有档案及子目錄的权限,若是如此,以上的范例应改为以下的指令输入:rootnsl root# chmod -R 666 /test1/*或rootnsl root# chmod -R u=rw,g=rw,o=rw /test1/* 变更档案与目錄拥有者- chown通常档案或目錄的拥有者就是此档案或目錄的建立者,若需要变更档案或目錄拥有者,首先需确定是否具有root等级的权限,也就是說此项权限只授予同在一个管理员群组中的成员。假设您要将/testl/filel.txt复制到使用者jack的主目錄 一/home/Jack,在复制之后您会发现此档案的拥有者仍然是您(root)。rootnsl root# cp/test1/file1.txt/home/jack/file1rootnsl root# ls -l/home/jack/file1.txt-rw-r-r- 1 root root 58923 11月 3 10:53/home/jack/file1此时可以使用chown(Change Owner)指令来将filel.txt的拥有权授予jack:rootnsl root# Chown jack/home/jack/file1.txtrootnsl root# ls -l/home/jack/file1.txt-rw-r-r- 1 jack root 58923 11月 3 12:53/home/jack/file1.txt由 以上的范例中可以发现,filel.txt档案的拥有者已经成功的变更为iack,但是授予存取权限的群组仍然是先前的群组(root),所以我们可以利 用chown的指令来同时变更拥有存取权限的使用者和群组。假设我们要将filel.txt的存取权限授予使用者jack和群组users,则可使用以下的指令:rootnsl root# Chown jack:users/home/jack/file1rootnsl root# ls -l/home/jack/file1.txt-rw-r-r- 1 jack users 58923 11月 3 14:29/home/jack/file1如果只需要变更拥有存取权限的群组,您也可以利用chgrp(Change Group)指令,它的使用语法与chown类似:#chgrp 群组名称 档案或目录名称 指定档案的预设权限遮罩一umask所 谓权限遮罩是由4个8进位的数字所组成,如果将现有的权限減掉权限遮罩后,即可產生建立档案时预设的权限。一般而言,新建档案的预设值是0666,新建目 錄的预设值是0777,如果将权限遮罩设为0002,则每个新增的档案预设权限即为0666 0002 = 0664,而目錄的预设权限则为0777 0002 = 0775。您可以直接输入umask指令来检查目前的预设权限遮罩,或是输入umask权限遮罩的格式预设权限遮罩。rootnsl root# umask0022 预设权限遮罩rootnsl root# umask 0002 指定预设权限遮罩rootnsl root# umask0002利用umask的方式来指定预设权限遮罩,可以避免新增存取权限过大的档案或目錄,但是決定预设权限遮罩前需考量整体的安全性等级,以符合企业的实际需求。1-6 I/O 重新导向及管線I/O 重新导(Redirection)向以及管線是Linux系统中特有的观念,所谓I/O重导是指将指令执行的结果重新导出到其他设备或档案(它是以 或 来表示),或是重新导入到其他设备或档案(它是以)一般我们在Linux执行任何指令或程式,预设都是将结果输出到萤幕,但是有时我们会希望将结果储存到一个档案中,以方便资料的收集,此时便可使用输出导向的功能。例如希望将 /etc目錄下的档案资料结果储存到/testl/etc.txt档案中,则可使用以下的指令:rootnsl root# ls -al /etc /test1/etc.txt在执行上述指令后,系统並不会出现任何资料,因为所有原来会出现的输出內容都已重新导向到/testl/etc.txt档案中,同时也不需预先建立/test1/etc.txt档案中,因为若是此档案不存在,则在重新导向时,系统会自动產生指令中指定的档案。利用我们先前介绍过的cat指令,然后再配合重新导向的使用,就可以成为一个简单的文字编辑器。您可以试著输入以下的指令:rootnsl root#cat /test1/editor.txtI Love Linux ! 按Enter键按Ctrl+C就可结束档案的编辑 在输入之后,因为並末提供cat指令任何参数,所以游标会停留在下一行的开头等待输入,此时便可输入希望记錄的內容,然后在输入完毕后先按口逊钮(否则最后一行不会储存),再按Ctrl+C就可结束档案的编辑,系统並会将此內容以editor.txt档名加以储存。 附加输出导向()相 信大家对於以上介绍的重新导向至此应该有基本的认识,但是此处会出现一个问题一若是重新导向的档案原来已存在,那我们在输入新的资料后会產生什麼结果?答 案是所有旧的资料都会消失,而以新的內容取代。 想必这是许多人所不愿意乐见的,因为旧有的资料常常包含许多有价值的內容,所以在硬碟空间足夠的条件下,最好能保存先前的资料。为 了解決这个问题,Linux提供了附加输出导向的功能,它的用法及功能与输出导向很类似,唯一不同的是,新输入的资料会附加(Append)在原有內 容之后,同时它的表示符号为。 以下我们利用一个范例来說明使用输出导向和附加输出导向对原始档案所產生的影响,我们假设原有的档案/testl/origin.txt中只有一行文字 This is the original words inthe file! 输入导向()输出导向的观念和输入导向刚好相反,前者是将指令或程式的执行结果透过萤幕或档案来输出,但是后者卻是将键盘或档案提供给指令来执行,有时这个观念常会令人困惑,我们先来看以下的范例:rootnsl root# cat file1The content of file1 !rootnsl test1# cat file1The content of file1 !在 上述的范例中,二者的输出结果完全相同,但是在执行的程序上卻完全不同。 在cat filel 指令中,cat的标準输入档案为filel,因此cat在收到输入档案后,会执行它的功能而将filel的內容显示到萤幕。但是在cat filel 指令中,cat並沒有任何的标準输入档案,而是利用输入重导()的功能来将filel传给cat当成标準输入档案,最后才将filel的內 容显示到萤幕。由以上的二个范例我们会感觉似乎输入重导並沒有太大的功能! 的确,在可以接受参数的指令上,输入重导並沒有很大的用处,但是在无法接受参数的指令上就相当有用,例如patch。rootnsl test1# patch patch-2.4.8-2rootnsl test1# patch patch-2.4.8-2因 为patch指令並无法接受参数,所以在上述的第一行指令输入后,patch指令会将patch-2.4.8-2视为参数,但因为它无法接受参数,所以画 面不会有任何的反应,但若是利用输入重导 ( ) 来将patch-2.4.8-2档案输入给patch,则系统就会开始执行原始码更新的动作。 附加输入导向 (字串)附 加输入导向可以让您自行定义一个字串,例如quit,系统在收到此字串前,会持续的将资料输入档案,这个功能经常使用在电子邮件系统中。以下是一个传送电 子邮件的范例,假设我们定义的字串是Finish您可以继续输入邮件內容,当输入Finish字串后,系统便会结束邮件的编辑並且寄出。rootnsl root# mail The mail is from jack!Finish 结束邮件的编辑并寄出 错误输出导向(& )输 出导向()和错误输出导向(& )最大的差別是在於指令执行发生错误时,若是指令执行发生错误,输出导向会错误讯息直接显示到萤幕,但是並不记錄到档案中。而错误输出导向不论是 正常或错误的执行,都不会将讯息结果显示在萤幕上,而是直接写入档案中。一般的程式设计师都会习惯将程式测试和除错时的所有讯息(正常和错误)记錄在档案中,以利曰后修改时的参考,以下提供一个简单的范例来让读者了解二者问的不同: 管線Linux系统中的管線(Pipe)最主要的功能是将其他程式的输出结果,直接导向到另一个程式来当成输入资料,虽然这个方式对於初学者可能会觉得复杂,但是有效的利用这个功能可以节省不少指令的输入时间,以及避免错误的发生。举 例来說,/etc目錄下的档案有很多,若是您使用1s -al指令,它们並沒有办法在同一页中显示,若要浏览第一页中的资料,就显得很不方便。此时就可以将1s -al指令產生的结果利用管線( | )直接导向至1ess 指令,因此就可以使用上下键来逐行浏览输出结果。rootnsl root# ls -al /etc | less管線的使用可以与许多现有的指令相结合,也能產生许多不同的效果,若是读者有兴趣可以多多尝试管線与不同的指令组合,例如 和 &,相信您一定可以从中得到许多的便利。1-7 使用指令与图形管理工具的迷失在本章的最后,笔者想提出一些有关大家对於指令与图形介面工具在进行系统管理上一直爭论不休的看法,也希望能给大家一个新的思考方向。相 信对於大多数Linux入门的新手(包括才疏学浅的我)来說,沒有人会对Linux的指令產生好印象,因为使用者永远不知到底有多少指令?每个指令支援的 参数有多少?尤其在微软的图形介面系统橫扫全球个人电脑的旋风后,对於习惯鲇鲇滑鼠便可完成操作的使用者来說,学习Linux繁复的指令可說是梦魇的开 始,此时在大家的心里不禁產生了一个问题一我们真的要学指令吗?尤其在X Window System问市后,其功能在一再的加強后,以目前来讲已经可以与微软系统上的图形使用者介面(GUI)相媲美(虽不中亦不远矣!),但是为何翻开坊问Linux的管理书籍,其中的內容多半是指令的介绍,而寻卜使用作业系统中附加的图形工具呢?甚至现在也有一些可由微软的作业系统上,利用浏览器连接到Linux上进行远端管理的图形工具,例如Webmin它们的功能也能包含大部份的管理內容,为何我们还要苦苦死守文字模式的Telnet来进行远端管理呢?相信笔者以上提出的几个问题一定可以让各位反覆的思考许久,若是您有宝贵的意见,也希望能与读者共同分享,以下仅提出笔者对这个思想冲突上的

温馨提示

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

评论

0/150

提交评论