﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-蓝色自由的部落-文章分类-Linux</title><link>http://www.blogjava.net/kongbowoo/category/24716.html</link><description>------我的技术性博客</description><language>zh-cn</language><lastBuildDate>Wed, 08 Aug 2007 16:28:05 GMT</lastBuildDate><pubDate>Wed, 08 Aug 2007 16:28:05 GMT</pubDate><ttl>60</ttl><item><title>Linux下的文件权限设置</title><link>http://www.blogjava.net/kongbowoo/articles/135199.html</link><dc:creator>kongbowoo</dc:creator><author>kongbowoo</author><pubDate>Wed, 08 Aug 2007 03:47:00 GMT</pubDate><guid>http://www.blogjava.net/kongbowoo/articles/135199.html</guid><wfw:comment>http://www.blogjava.net/kongbowoo/comments/135199.html</wfw:comment><comments>http://www.blogjava.net/kongbowoo/articles/135199.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kongbowoo/comments/commentRss/135199.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kongbowoo/services/trackbacks/135199.html</trackback:ping><description><![CDATA[<p>本文介绍如何在RedHat Linux 9.0下使用chmod和chown两个命令对文件设置权根.<br><br>指令名称: chmod <br>使用权限: 所有使用者 <br>使用方式: chmod [-cfvR] [--help] [--version] mode file... <br>说明:Linux/Unix的文件调用权限分为三级:文件所有者,组,其他.利用chmod可以控制文件如何被他人所调用.</p>
<p>参数说明: <br>mode: 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u表示该文件的所有者,g表示与该文件的所有者属于同一个组(group)的成员,o表示其他以外的人,a表示这三者都是.&nbsp; <br>+表示增加权限,-表示取消权限,=表示唯一设定权限.&nbsp; <br>r表示可读取,w表示可写入,x表示可执行,X表示只有当该文件是个子目录或者该文件已经被设定过为可执行.&nbsp; <br>-c: 若该文件权限确实已经更改,才显示其更改动作; <br>-f: 若该文件权限无法被更改也不要显示错误讯息;<br>-v: 显示权限变更的详细资料;<br>-R: 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更);<br>--help: 显示辅助说明;<br>--version: 显示版本;</p>
<p>我们可以用Linux下的图示来进行说明:<br><img src="http://www.blogjava.net/images/blogjava_net/kongbowoo/permission2.JPG" border=0><br></p>
<p>范例:<br>将文件file1.txt设为所有人都可读取: <br>chmod ugo+r file1.txt 或 chmod a+r file1.txt <br>将文件file1.txt与file2.txt设为该文件所有者与其同组成员可写入,但其他的人员不能写入: <br>chmod ug+w,o-w file1.txt file2.txt <br>将sharestart.sh设定为只有该文件所有者可以执行: <br>chmod u+x sharestart.sh <br>将当前目录下的所有文件与子目录都设为任何人可读取: <br>chmod -R a+r * </p>
<p>此外chmod也可以用数字来表示权限如chmod 777 filepath <br>语法为：chmod abc filepath <br>其中a,b,c各为一个数字,分别表示User,Group,及Other的权限.&nbsp; <br>r=4,w=2,x=1 <br>若要rwx属性, 则4+2+1=7； <br>若要rw-属性, 则4+2=6； <br>若要r-x属性, 则4+1=5.&nbsp;<br><br>用一个表来说明可能更清楚:<br>
<table style="WIDTH: 320px; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=3 border=1>
    <tbody>
        <tr>
            <td></td>
            <td>所有者(User)</td>
            <td>组(Group)</td>
            <td>其它(Other)</td>
        </tr>
        <tr>
            <td>读取(r)</td>
            <td>4</td>
            <td>4</td>
            <td>4</td>
        </tr>
        <tr>
            <td>写入(w)</td>
            <td>2</td>
            <td>2</td>
            <td>2</td>
        </tr>
        <tr>
            <td>执行(x)</td>
            <td>1</td>
            <td>1</td>
            <td>1</td>
        </tr>
    </tbody>
</table>
&nbsp;</p>
<p>范例： <br>chmod a=rwx filepath 和 chmod 777 filepath 效果相同 <br>chmod ug=rwx,o=x filepath 和 chmod 771 filepath 效果相同 </p>
<p>若用chmod 4755 filepath可使此程序具有root的权限</p>
<p>指令名称: chown<br>使用权限: root<br>使用方式: chmod [-cfhvR] [--help] [--version] user[:group] file...<br>说明: Linux/Unix是多人多工作业系统,所有的文件都有所有者.利用chown可以将文件的所有者加以改变.一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件所有者,也没有权限可以自己的文件所有者改设为别人.只有系统管理者(root)才有这样的权限.&nbsp; </p>
<p>参数说明: <br>user: 新的文件所有者的使用者ID;<br>group: 新的文件所有者的使用者群体(group);<br>-c: 若该文件所有者确实已经更改,才显示其更改动作;<br>-f: 若该文件所有者无法被更改也不要显示错误讯息;<br>-h: 只对于连结(link)进行变更,而非该 link 真正指向的文件;<br>-v: 显示所有者变更的详细资料;<br>-R: 对目前目录下的所有文件与子目录进行相同的所有者变更(即以递回的方式逐个变更);<br>--help: 显示辅助说明;<br>--version: 显示版本;</p>
<p>范例: <br>将文件file1.txt的所有者设为users群体的使用者jessie:<br>chown jessie:users file1.txt </p>
<p>将目前目录下的所有文件与子目录的所有者都设为users群体的使用者lamport: <br>chmod -R lamport:users * <br>-rw------- (600) -- 只有所有者有读写权限.&nbsp; <br>-rw-r--r-- (644) -- 只有所有者有读写权限；而属组用户和其他用户只有读权限.&nbsp; <br>-rwx------ (700) -- 只有所有者有读,写,执行权限.&nbsp; <br>-rwxr-xr-x (755) -- 所有者有读,写,执行权限；而属组用户和其他用户只有读,执行权限.&nbsp; <br>-rwx--x--x (711) -- 所有者有读,写,执行权限；而属组用户和其他用户只有执行权限.&nbsp; <br>-rw-rw-rw- (666) -- 所有用户都有文件读,写权限. 这种做法不可取.&nbsp; <br>-rwxrwxrwx (777) -- 所有用户都有读,写,执行权限. 更不可取的做法.&nbsp; </p>
<p>以下是对目录的两个普通设定: <br>drwx------ (700) - 只有所有者可在目录中读,写.&nbsp; <br>drwxr-xr-x (755) - 所有用户可读该目录,但只有所有者才能改变目录中的内容.</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/kongbowoo/aggbug/135199.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kongbowoo/" target="_blank">kongbowoo</a> 2007-08-08 11:47 <a href="http://www.blogjava.net/kongbowoo/articles/135199.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>