0210filepermission.htm

来自「鸟哥LINUX 学习课本」· HTM 代码 · 共 1,115 行 · 第 1/5 页

HTM
1,115
字号
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>   <meta http-equiv="Content-Type" content="text/html; ">   <meta name="Author" content="VBird">   <meta name="GENERATOR" content="Mozilla/4.5 [zh-TW] (WinNT; I) [Netscape]"><title>鸟哥的 Linux 私房菜馆 -- Linux 的档案权限与目录配置</title><!-- saved from url=(0022)http://internet.e-mail --><style>   <!--   body{background-image=url(http://linux.vbird.org/VBirdLinux.jpg);background-ATTACHMENT=FIXED}   --></style></head><body nosave="" background="0210filepermission_files/VBirdLinux.jpg"><center><center><b><font size="+2" color="#3333ff"><font face="SimSun">鸟哥的</font><font face="Times New Roman,Times"> Linux </font><font face="SimSun">与</font><font face="Times New Roman,Times"> ADSL </font><font face="SimSun">私房菜</font></font></b><br><a href="http://linux.vbird.org/" target="_top"><img src="0210filepermission_files/VBirdTitle2.jpg" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_basic"><img src="0210filepermission_files/icon_system.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_server"><img src="0210filepermission_files/icon_server.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_security"><img src="0210filepermission_files/icon_security.jpg" nosave="" border="0" height="25" width="90"></a><a href="http://phorum.vbird.org/" target="_blank"><img src="0210filepermission_files/icon_forums.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/adsl"><img src="0210filepermission_files/icon_adsl.gif" nosave="" border="0" height="25" width="90"></a><br><hr width="100%"></center><font size="+2" color="#3333ff"><a href="http://linux.vbird.org//linux_basic/0210filepermission.php" target="_self"><font face="Times New Roman,Times">Linux</font><font face="SimSun">档案属性与目录配置</font></a></font></center><div align="right"><font size="-1" color="#3333ff" face="SimSun">最近更新日期:2003/02/06</font></div><font size="+1" color="#000099"><a href="#UserandGroup">使用者与群组</a></font><br><font size="+1" color="#000099"><a href="#filepermission">Linux档案属性</a></font><br><font color="#000099"><font size="+1"><a href="#comman">如何改变档案权限</a>:</font><a href="#chgrp">chgrp</a>,<a href="#chown">chown</a>,<a href="#chmod">chmod</a>,</font><br><font size="+1" color="#000099"><a href="#type">Linux 支持的档案格式与档案种类</a></font><br><font size="+1" color="#000099"><a href="#Linux_directory">Linux目录配置</a></font><br><font size="+1" color="#000099"><a href="#FAQ">本章习题练习</a></font><br><hr width="100%"><a name="UserandGroup"></a><font size="+1" color="#000099">使用者与群组</font><blockquote>初次接触 Linux 的朋友大概会觉得很怪异,怎么『<b><font color="#000066">Linux有这么多使用者,还分什么群组,有什么用?</font></b>』。这个『使用者与群组』的功能可是相当健全而好用的一个安全防护呢!怎么说呢?由于Linux 是个多人多任务的系统 ( 已经提过若干次啰!),因此可能常常会有多人同时使用这部主机来进行工作的情况发生,为了考虑每个人的隐私权,因此,这个『档案拥有者』的角色就显的相当的重要了!例如当你将你的e-mail情书转存成档案之后,放在您自己的家目录,您总不希望被其它人看见自己的情书吧?这个时候,你就把该档案设定成『只有档案拥有者,就是我,才能看与修改这个档案的内容』,那么即使其它人知道你有这个相当『有趣』的档案,不过由于您有设定适当的权限,所以其它人自然也就无法知道该档案的内容啰!<br> <br>那么群组呢?为何要设定档案还有所属的群组?其实,<b><font color="#000066">群组最简单的功能之一,就是当您在团队开发资源的时候最有用啦</font></b>!举个例子来说好了,假如在我的主机上面有两个团体,这第一个团体名称为testgroup 而他的成员是 test1, test2, test3 三个,第二个团体名称为 treatgoup他的团员为 treat1, treat2, treat3,这两个团体之间是互相有竞争性质的,但是却又要缴交同一份报告,然而每组团员又需要同时可以修改自己的团体内任何人所建立的档案,且不能让非自己团体以外的人看到自己的档案内容!这个时候怎么办?呵呵!在Linux 底下可就很简单啦!我可以经由简易的档案权限设定,就能限制非自己团队(亦即是群组啰 )的其它人不能够阅览内容啰!而且亦可以让自己的团队成员可以修改我所建立的档案!同时,如果我自己还有私人隐密的文件,仍然可以设定成让自己的团队成员也看不到我的档案数据,很方便吧!另外,如果teacher 这个账号是 testgroup 与 treatgroup 这两个群组的老师,他想要同时观察两者的进度,因此需要两边的群组都能够进去观看,这个时候,您可以设定teacher 这个账号,『同时支持 testgroup 与 treatgroup 这两个群组!』,也就是说,每个人都可以有多个群组的支持呢!<br> <br>这样说或许你还不容易理解这个使用者与群组的关系吧?没关系,我们可以使用目前『家庭』的观念来进行解说喔!假设有一家人,家里只有三兄弟,分别是王大毛、王二毛与王三毛三个人,而这个家庭是登记在王大毛的名下的!所以,『王大毛家有三个人,分别是王大毛、王二毛与王三毛』,而且这三个人都有自己的房间,并且共同拥有一个客厅喔!<ul><li>由于王家三个人各自拥有自己的房间,所以,王二毛虽然可以进入王三毛的房间,但是二毛不能翻三毛的抽屉喔!那样会被三毛K 的!因为抽屉里面可能有三毛自己私人的东西,例如情书啦,日记啦等等的,这是『私人的空间』,所以当然不能让二毛拿啰!</li><br> <li>由于共同拥有客厅,所以王家三兄弟可以在客厅打开电视机啦、翻阅报纸啦、坐在沙发上面发呆啦等等的!反正,只要是在客厅的玩意儿,三兄弟都可以使用喔!因为大家都是一家人嘛!</li></ul>这样说来应该有点晓得了喔!那个『王大毛家』就是所谓的『群组』啰,至于三兄弟就是分别为三个『使用者』,而这三个使用者是在同一个群组里面的喔!而三个使用者虽然在同一群组内,但是我们可以设定『权限』,好让某些使用者个人的信息不被群组的所有人查询,以保有个人『私人的空间』啦!而设定群组共享,则可让大家共同分享喔!</blockquote><blockquote>好了,那么今天又有个人,叫做张小猪,他是张小猪家的人,与王家没有关系啦!这个时候,除非王家认识张小猪,然后开门让张小猪进来王家,否则张小猪永远没有办法进入王家,更不要说进到王三毛的房间啦!不过,如果张小猪透过关系认识了三毛,并且跟王三毛成为好朋友,那么张小猪就可以透过三毛进入王家啦!呵呵!没错!那个张小猪就是所谓的『其它人,Others 』啰!因此,我们就可以知道啦,在 Linux 里面,任何一个档案都具有『User,Group 及 Others』三个权限!我们可以将上面的说明以底下的图示来解释:<br> <center><img src="0210filepermission_files/0210filepermission_1.jpg" nosave="" height="324" width="508"></center> <br>不过,这里有个特殊的人物要来介绍的,那就是『万能的天神』!这个天神具有无限的神力,所以他可以到达任何他想要去的地方,呵呵!那个人在Linux 系统中的身份代号是『 root 』啦!所以要小心喔!那个 root 可是『万能的天神』喔!<br> <br>无论如何,『使用者身份』,与该使用者所支持的『群组』概念,在 Linux的世界里面是相当的重要的,他可以帮助您让您的多任务 Linux 环境变的更容易管理!更详细的『身份与群组』 设定,我们将在账号管理再进行解说。底下我们将针对档案系统与档案权限来进行说明。</blockquote><hr width="100%"><a name="filepermission"></a><font size="+1" color="#000099">Linux档案属性:</font><blockquote>大致了解了 Linux 的使用者与群组之后,接着下来,我们要来谈一谈,那么这个档案的权限要如何针对这些所谓的『使用者』与『群组』来设定该档案的权限呢?这个部分是相当的重要的,尤其对于初学者来说,因为档案的权限与属性是学习Linux 的一个相当重要的关卡,如果没有这部份的概念,那么您将老是听不懂别人在讲什么呢!尤其是当您在您的屏幕前面出现了『Permissiondeny』的时候,不要担心,『肯定是权限设定错误』啦!呵呵!好了,闲话不多聊,赶快来瞧一瞧先:<br> <br>嗯!既然要让你了解 Linux 的档案属性,那么有个重要的也是常用的指令就必须要先跟你说啰!那一个?!就是『<b><font color="#000066">ls</font></b>』这一个 list 档案的指令啰!在你以 root 的身份登入 Linux 之后,下达『ls-al 』看看,会看到底下的几个咚咚:<br> <table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" color="#ffffff" face="SimSun">[root@tsairoot]# ls -al</font><br><font size="-1" color="#ffffff" face="SimSun">total 64</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-x---&#160;&#160;&#160;4 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;4096 Feb 14 22:02 .</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x&#160;&#160;23 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;4096 Feb 16 13:35 ..</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-r--r--&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1210 Feb 10 06:03 anaconda-ks.cfg</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-------&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;12447 Feb 14 23:22 .bash_history</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-r--r--&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;24 Jun 11&#160; 2000 .bash_logout</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-r--r--&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;234 Jul&#160; 6&#160; 2001 .bash_profile</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-r--r--&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;217 Feb&#160; 9 22:06 .bashrc</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-r--r--&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;210 Jun 11&#160; 2000 .cshrc</font><br><font size="-1" color="#ffffff" face="SimSun">drwx------&#160;&#160;&#160;2 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;4096 Feb 14 21:54 .gnupg</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-------&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;8 Feb 14 22:05 .mysql_history</font><br><font size="-1" color="#ffffff" face="SimSun">drwx------&#160;&#160;&#160;2 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;4096 Feb 10 00:44 .ssh</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-r--r--&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;196 Jul 11&#160; 2000 .tcshrc</font><br><font size="-1" color="#ffffff" face="SimSun">-rw-r--r--&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1126 Aug 24&#160; 1995 .Xresources</font><p><font size="-1" color="#ffff00" face="SimSun">&#160;第一栏&#160;&#160;&#160;&#160;&#160;二&#160; 三&#160;&#160;&#160;&#160;&#160;&#160; 四&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;五&#160;&#160;&#160;&#160;&#160; 六&#160;&#160;&#160;&#160;&#160;&#160;&#160;七&#160;</font><br><font size="-1" color="#ffff00" face="SimSun">[档案属性][档案数][拥有者][所有者群组][大小][建档日期][档名]</font></p></td></tr></tbody></table> <br>ls 是『list』的意思,与在早期的 DOS 年代的 dir 类似功能。而参数『-al』则表示列出所有的档案(包含隐藏档,就是档名前面第一个字符为. 的那种档案)。如上所示,在你第一次以 root 身份登入 Linux 时,如果你输入指令后,应该有上列的几个东西,先解释一下上面七个字段个别的意思:<center><img src="0210filepermission_files/0210filepermission_2.jpg" nosave="" border="0" height="182" width="475"></center><ol><li><b><font color="#3333ff">第一栏代表这个档案的属性:</font></b>这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个属性:</li><center><img src="0210filepermission_files/0210filepermission_3.jpg" nosave="" height="135" width="302"></center><ul><li>第一个属性代表这个档案是『<font color="#3333ff">目录、档案或连结文件</font>』:</li><ul><li>当为[ <font color="#3333ff">d </font>]则是目录,例如上表的第 11 行;</li><li>为[ <font color="#3333ff">- </font>]则是档案,例如上表的第&#160; 5 行;</li><li>若是[ <font color="#3333ff">l </font>]则表示为连结档(link file);</li><li>若是[ <font color="#3333ff">b</font> ]则表示为装置文件里面的可供储存的接口设备;</li><li>若是[ <font color="#3333ff">c</font> ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。</li></ul></ul> <ul><li>接下来的属性中,三个为一组,且均为『<font color="#3333ff">rwx</font>』的三个参数的组合。其中,[r ]代表可读、[ w ]代表可写、[ x ]代表可执行:</li><ul><li>第一组为『<font color="#3333ff">拥有人的权限</font>』,以第五行为例,该档案的拥有人可以读写,但不可执行;</li><li>第二组为『<font color="#3333ff">同群组的权限</font>』;</li><li>第三组为『<font color="#3333ff">其它非本群组的权限</font>』。</li></ul></ul> <br><b>范例</b>:若有一个档案的属性为『<font color="#3333ff" face="SimSun">-rwxr-xr--</font>』,简单的可由下面说明之:<br> <table cols="1" width="500"><tbody><tr><td><font color="#000066" face="SimSun">[-][rwx][r-x][r--]</font><br><font color="#000066" face="SimSun">&#160;1&#160; 234&#160; 567&#160;890</font><br><font color="#000066" face="SimSun">&#160;&#160;&#160;&#160;1 为:代表这个文件名为目录或档案(上面为档案)</font><br><font color="#000066" face="SimSun">&#160;&#160;&#160; 234为:拥有人的权限(上面为可读、可写、可执行)</font><br><font color="#000066" face="SimSun">&#160;&#160;&#160; 567为:同群组使用者权限(上面为可读可执行)</font><br><font color="#000066" face="SimSun">&#160;&#160;&#160; 890为:其它使用者权限(上面为仅可读)</font></td></tr></tbody></table> <br>上面的属性情况代表一个档案、这个档案的拥有人可读可写可执行、但同群组的人仅可读与执行,非同群组的使用者仅可读的意思!<br> <ul><li>除此之外,<b><font color="#000066">需要特别留意的是 x 这个标号</font></b>!若文件名为一个目录的时候,例如上表中的

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?