蓝色自由的部落

------我的技术性博客
posts - 5, comments - 2, trackbacks - 0, articles - 2
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Linux下的文件权限设置

Posted on 2007-08-08 11:47 kongbowoo 阅读(8019) 评论(1)  编辑  收藏 所属分类: Linux

本文介绍如何在RedHat Linux 9.0下使用chmod和chown两个命令对文件设置权根.

指令名称: chmod
使用权限: 所有使用者
使用方式: chmod [-cfvR] [--help] [--version] mode file...
说明:Linux/Unix的文件调用权限分为三级:文件所有者,组,其他.利用chmod可以控制文件如何被他人所调用.

参数说明:
mode: 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u表示该文件的所有者,g表示与该文件的所有者属于同一个组(group)的成员,o表示其他以外的人,a表示这三者都是. 
+表示增加权限,-表示取消权限,=表示唯一设定权限. 
r表示可读取,w表示可写入,x表示可执行,X表示只有当该文件是个子目录或者该文件已经被设定过为可执行. 
-c: 若该文件权限确实已经更改,才显示其更改动作;
-f: 若该文件权限无法被更改也不要显示错误讯息;
-v: 显示权限变更的详细资料;
-R: 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更);
--help: 显示辅助说明;
--version: 显示版本;

我们可以用Linux下的图示来进行说明:

范例:
将文件file1.txt设为所有人都可读取:
chmod ugo+r file1.txt 或 chmod a+r file1.txt
将文件file1.txt与file2.txt设为该文件所有者与其同组成员可写入,但其他的人员不能写入:
chmod ug+w,o-w file1.txt file2.txt
将sharestart.sh设定为只有该文件所有者可以执行:
chmod u+x sharestart.sh
将当前目录下的所有文件与子目录都设为任何人可读取:
chmod -R a+r *

此外chmod也可以用数字来表示权限如chmod 777 filepath
语法为:chmod abc filepath
其中a,b,c各为一个数字,分别表示User,Group,及Other的权限. 
r=4,w=2,x=1
若要rwx属性, 则4+2+1=7;
若要rw-属性, 则4+2=6;
若要r-x属性, 则4+1=5. 

用一个表来说明可能更清楚:
所有者(User) 组(Group) 其它(Other)
读取(r) 4 4 4
写入(w) 2 2 2
执行(x) 1 1 1
 

范例:
chmod a=rwx filepath 和 chmod 777 filepath 效果相同
chmod ug=rwx,o=x filepath 和 chmod 771 filepath 效果相同

若用chmod 4755 filepath可使此程序具有root的权限

指令名称: chown
使用权限: root
使用方式: chmod [-cfhvR] [--help] [--version] user[:group] file...
说明: Linux/Unix是多人多工作业系统,所有的文件都有所有者.利用chown可以将文件的所有者加以改变.一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件所有者,也没有权限可以自己的文件所有者改设为别人.只有系统管理者(root)才有这样的权限. 

参数说明:
user: 新的文件所有者的使用者ID;
group: 新的文件所有者的使用者群体(group);
-c: 若该文件所有者确实已经更改,才显示其更改动作;
-f: 若该文件所有者无法被更改也不要显示错误讯息;
-h: 只对于连结(link)进行变更,而非该 link 真正指向的文件;
-v: 显示所有者变更的详细资料;
-R: 对目前目录下的所有文件与子目录进行相同的所有者变更(即以递回的方式逐个变更);
--help: 显示辅助说明;
--version: 显示版本;

范例:
将文件file1.txt的所有者设为users群体的使用者jessie:
chown jessie:users file1.txt

将目前目录下的所有文件与子目录的所有者都设为users群体的使用者lamport:
chmod -R lamport:users *
-rw------- (600) -- 只有所有者有读写权限. 
-rw-r--r-- (644) -- 只有所有者有读写权限;而属组用户和其他用户只有读权限. 
-rwx------ (700) -- 只有所有者有读,写,执行权限. 
-rwxr-xr-x (755) -- 所有者有读,写,执行权限;而属组用户和其他用户只有读,执行权限. 
-rwx--x--x (711) -- 所有者有读,写,执行权限;而属组用户和其他用户只有执行权限. 
-rw-rw-rw- (666) -- 所有用户都有文件读,写权限. 这种做法不可取. 
-rwxrwxrwx (777) -- 所有用户都有读,写,执行权限. 更不可取的做法. 

以下是对目录的两个普通设定:
drwx------ (700) - 只有所有者可在目录中读,写. 
drwxr-xr-x (755) - 所有用户可读该目录,但只有所有者才能改变目录中的内容.

 


评论

# re: Linux下的文件权限设置  回复  更多评论   

2013-10-29 22:46 by 3a教程网
linux下权限的设置
http://3aj.cn/article/735.html

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问