0210filepermission.htm

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

HTM
1,115
字号
4096 Oct 19 11:43 drakx/</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 Oct 19 21:24 tmp/</font></p></td></tr></tbody></table> <br>嗯!知道如何改变档案的群组与拥有者了,那么什么时候要使用 chown 或 chgrp呢?!或许您会觉得奇怪吧?!是的,确实有时候需要变更档案的拥有者的,最常见的例子就是在copy 档案给你之外的其它人时,我们使用最简单的 cp 来说明好了,<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" color="#ffffcc" face="SimSun">语法:</font><br><font size="-1" color="#ffff99" face="SimSun">cp 来源档案目的档案</font></td></tr></tbody></table> <br>假设您今天要将 .bashrc 这个档案拷贝成为 .bashrc_test ,且是要给 test这个人,您可以这样做:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">cp .bashrc .bashrc_test</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">ls –al .bashrc*</font></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;226 Feb 16&#160; 2002 .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;226 Oct 21 14:24 .bashrc_test</font></td></tr></tbody></table> <br>哇!怎么办? .bashrc_test 还是属于 root 所有,如此一来,即使你将档案拿给test 这个使用者了,那他仍然无法修改的( 看属性就知道了吧! ),所以你就必须要将这个档案的拥有者与群组修改一下啰!知道如何修改了吧!?呵呵!<br> <br><hr width="100%"><li><a name="chmod"></a><font color="#000099">改变九个属性 ( chmod )</font>:</li><br><b><font color="#000066"> </font></b><br><b><font color="#000066">数字类型改变档案权限</font></b><br>其实, Linux 档案的属性不只九个呦!不过这里不打算写的太复杂!先说一些简单的,较难的以后有空再说吧!先复习一下刚刚上面说的:<br> <ul><font color="#3333ff" face="SimSun">-rwxrwxrwx</font></ul> <br>这九个属性是三个三个一组的!其中,我们可以使用数字来代表各个属性,各属性的对照表如下:<br> <ul><font color="#000099" face="SimSun">r:4</font><br><font color="#000099" face="SimSun">w:2</font><br><font color="#000099" face="SimSun">x:1</font><br><font color="#000099" face="SimSun"> </font></ul>由于同一组的数字是相加的!例如当属性为 [ -rwxrwx--- ] 则是:<br> <ul><font color="#000066" face="SimSun">owner&#160; = rwx&#160; =4+2+1 = 7</font><br><font color="#000066" face="SimSun">group&#160; = rwx&#160; =4+2+1 = 7</font><br><font color="#000066" face="SimSun">others = ---&#160; = 0+0+0= 0</font></ul> <br>所以,这样的属性造成的数值就是 770 啰!而更改属性的指令为 chmod,他的语法为:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" color="#ffffcc" face="SimSun">语法:</font><br><font size="-1" color="#ffff00" face="SimSun">chmod [-R]xyz 档案或目录</font><br><font size="-1" color="#ff9900" face="SimSun">xyz 为同三组rwx 属性数值的相加</font></td></tr></tbody></table> <br>举例来说,如果要将 .bashrc 这个档案所有的属性都打开,那么就下达:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">ls –al .bashrc</font></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;226 Feb 16&#160; 2002 .bashrc</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">chmod 777 .bashrc</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">ls –al .bashrc</font></font><br><font size="-1" color="#ffffff" face="SimSun">-rwxrwxrwx&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;226 Feb 16&#160; 2002 .bashrc</font></td></tr></tbody></table> <br>看到了吗?属性改变了喔!由于一个档案有三组属性,所以你可以发现上面777 为三组,而由于我们将所有的属性都打开,所以数字都相加,亦即『<font color="#000066">r+w+x= 4+2+1 = 7</font>』。<br> <br>那如果要将属性变成『<font color="#000066"> -rwxr-xr--</font> 』呢?那么就成为<font color="#000066">[4+2+1][4+0+1][4+0+0]=754</font>啰!所以你需要下达<font color="#000066" face="SimSun">chmod 754filename</font>。最<br> <br>常发生的一个问题就是,常常我们以 vi 编辑一个 shell 的文字文件后,他的属性通常是-rw-rw-rw- 也就是 666 的属性,如果要将他变成可执行档,并且不要让其它人修改此一档案的话,那么就需要-rwxr-xr-x 这一个 755 的属性,所以 <font color="#000066" face="SimSun">chmod755 test.sh</font> 就需要这样做啰!<p>另外,有些档案你不希望被其它人看到,例如 -rwxr-----,那么就下达 <font color="#000066" face="SimSun">chmod740 filename</font> 吧!</p><p><b><font color="#000066">符号类型改变档案型态</font></b><br>还有一个改变属性的方法呦!从之前的介绍中我们可以发现,基本上就九个属性分别是(1)user(2)group (3)others 三群啦!那么我们就可以藉由 u, g, o 来代表三群的属性!此外,a 则代表 all 亦即全部的三群!那么读写的属性就可以写成了 r, w, x 啰!也就是可以使用底下的方式来看:<br> <table border="1" cols="5" width="500"><tbody><tr><td><center><font color="#000066" face="SimSun">chmod</font></center></td><td><center><font color="#000066" face="SimSun">u</font><br><font color="#000066" face="SimSun">g</font><br><font color="#000066" face="SimSun">o</font><br><font color="#000066" face="SimSun">a</font></center></td><td><center><font color="#000066" face="SimSun">+(加入)</font><br><font color="#000066" face="SimSun">-(除去)</font><br><font color="#000066" face="SimSun">=(设定)</font></center></td><td><center><font color="#000066" face="SimSun">r</font><br><font color="#000066" face="SimSun">w</font><br><font color="#000066" face="SimSun">x</font></center></td><td><center><font color="#000066" face="SimSun">档案或目录</font></center></td></tr></tbody></table> <br>来实作一下吧!假如我们要『设定』一个档案的属性为『<font color="#000066" face="SimSun">-rwxr-xr-x</font>』时,基本上就是:<br> </p><ul><li><font face="SimSun">u:&#160;&#160; 具有可读、写、执行</font></li><li><font face="SimSun">g 与 o:&#160; 具有读与执行</font></li></ul> <br>所以就是:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">chmod u=rwx,og=rx .bashrc</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">ls –al .bashrc</font></font><br><font size="-1" color="#ffffff" face="SimSun">-rwxr-xr-x&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;226 Feb 16&#160; 2002 .bashrc</font></td></tr></tbody></table> <br>请注意, r=rwx,og=rx 这一段文字之间并没有空格符隔开呦!不要搞错啰!那么假如是『-rwxr-xr-- 』?可以使用『 <font color="#000066" face="SimSun">chmodu=rwx,g=rx,o=r filename </font>』来设定。此外,如果我不知道原先的档案属性,而我只想要增加.bashrc 这个档案的每个人均可写入的权限,那么我就可以使用:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">ls –al .bashrc</font></font><br><font size="-1" color="#ffffff" face="SimSun">-rwxr-xr-x&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;226 Feb 16&#160; 2002 .bashrc</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">chmod a+w .bashrc</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">ls –al .bashrc</font></font><br><font size="-1" color="#ffffff" face="SimSun">-rwxrwxrwx&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;226 Feb 16&#160; 2002 .bashrc*</font></td></tr></tbody></table> <br>而如果是要将属性去掉而不更动其它的属性呢?!例如要拿掉所有人的 x 的属性,则<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">chmod a-x .bashrc</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">ls –al .bashrc</font></font><br><font size="-1" color="#ffffff" face="SimSun">-rw-rw-rw-&#160;&#160;&#160;1 root&#160;&#160;&#160;&#160; root&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;226 Feb 16&#160; 2002 .bashrc</font></td></tr></tbody></table> <br>知道 +, -, = 的不同点了吗?对啦! = 与 – 的状态下,只要是没有指定到的项目,则该属性『不会被变动』,例如上面的例子中,由于仅以– 拿掉 x 则其它两个保持当时的值不变!呵呵!多多实作一下,你就会知道如何改变属性啰!</ul></blockquote><hr width="100%"><a name="type"></a><font size="+1" color="#000099">Linux支持的档案格式与档案种类</font><blockquote><font color="#000000">Linux 的档案与 Windows 的档案能不能互相使用?为何可以?为何不行?这些咚咚都涉及到Linux 的档案类型与档案格式喔!底下我们就来谈一谈这些基本的观念吧!</font></blockquote><blockquote><ul><hr width="100%"><li><b><font color="#000099">档案格式:</font></b></li>

⌨️ 快捷键说明

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