Chinaunix首页 | 论坛 | 博客
  • 博客访问: 300790
  • 博文数量: 84
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 16:46
文章分类

全部博文(84)

文章存档

2017年(2)

2016年(4)

2015年(78)

我的朋友

分类: LINUX

2015-06-29 14:10:39

chmod:改变文件的权限
1、作用
可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果您对符号连接修改权限,其改变会作用在被连接的原始文件。只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示
不是文件属主或超户,就无法改变文件权限
链接文件的权限始终是777,chmod是无法改变的,chmod对连接文件的更改是作用在实际文件的。


2、格式
chmod [OPTION]... MODE[,MODE]... FILE...   
chmod [OPTION]... OCTAL-MODE FILE...       
chmod [OPTION]... --reference=RFILE FILE...
3、[Options]主要参数说明(重点实验的标为黑体)
-c, --changes(类似-v,但只输出被改变文件的信息)
--no-preserve-root
--preserve-root
-f, --silent, --quiet(当chmod不能改变文件模式时,不通知文件的用户)
-v, --verbose(显示命令执行过程)
--reference=RFILE(把指定文件或目录的权限全部设成和参考文件或目录的权限相同)
-R, --recursive(递归处理,将指定目录下的所有文件(包含隐含文件)及子目录一并处理。)
--help display this help and exit(命令帮助喽)
--version(显示chmod命令的版本信息)
Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.


有两种方法设定文件权限,文字设定法和八进制(数字)设定法


4、MODE说明
文字设定法:chmod [who][+|-|=][permission] <file>
who 
u:User,即文件或目录的拥有者。 
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。 
opcode:+赋予权限,-删除权限,=重新分配权限
Permission(权限即代号)
r:读取权限,数字代号为“4”。 
w:写入权限,数字代号为“2”。
x:执行或切换权限,数字代号为“1”。 
-:不具任何权限,数字代号为“0”。 
s:执行时设置用户ID ,数字代号为“4”。
s:设置用户或组标识ID,数字代号为“2”。
t:设置粘着位(sticky bit),防止文件或目录被非属主删除,数字代号为“1”


数字设定法:chmod [OCTAL-MODE]<file|directory>
r:读取权限,数字代号为“4”。
w:写入权限,数字代号为“2”。 
x:执行或切换权限,数字代号为“1”。
-:不具任何权限,数字代号为“0”。 
X:执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户,数字代号为“4”
s:设置用户或组标识ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户,数字代号为“2”
t:设置粘着位(sticky bit),防止文件或目录被非属主删除,数字代号为“1”


5、实验
[root@awake ~]# chmod -R -v a+rwx 2(将2目录及目录下的所有文件增加读写执行权限,并显示过程)
mode of `2' changed to 0777 (rwxrwxrwx)
mode of `2/2' changed to 0777 (rwxrwxrwx)
[root@awake ~]# chmod -R -v 777 2 (将2目录及目录下的所有文件增加读写执行权限,并显示过程)
mode of `2' changed to 0777 (rwxrwxrwx)
mode of `2/2' changed to 0777 (rwxrwxrwx)
[root@awake ~]# chmod -R -v a-rwx 2 (将2目录及目录下的所有文件删除读写执行权限,并显示过程)
mode of `2' changed to 0000 (---------)
mode of `2/2' changed to 0000 (---------)
[root@awake ~]# chmod -R -v 0 2 (将2目录及目录下的所有文件删除读写执行权限,并显示过程)
mode of `2' changed to 0000 (---------)
mode of `2/2' changed to 0000 (---------)
[root@awake ~]# chmod -Rv u+rwx,go+rx 2(将2目录及目录下的所有文件属主增加读写执行权限,所属组和其他人增加读执行权限,并显示过程) 
mode of `2' changed to 0755 (rwxr-xr-x)
mode of `2/2' changed to 0755 (rwxr-xr-x)
mode of `2/.2' changed to 0755 (rwxr-xr-x)
[root@awake ~]# chmod -v u-rwx,g-rx,o-rx 2(没有加-R参数那么权限的变更只作用在目标目录或文件一个上)
mode of `2' changed to 0000 (---------)
[root@awake ~]# chmod -Rv u=rwx,g=r,o=rw 2 (将2目录及目录下的所有文件从新分配权限(原来的空位也会被覆盖))
mode of `2' changed to 0746 (rwxr--rw-)
mode of `2/2' changed to 0746 (rwxr--rw-)
mode of `2/.2' changed to 0746 (rwxr--rw-)


chmod [OPTION]... --reference=RFILE FILE...实验


[root@awake etc]# chmod --reference /etc/yum.conf yum.conf(参考/etc/yum.conf文件权限设置当前目录下的yum.conf文件)

阅读(1132) | 评论(0) | 转发(0) |
0

上一篇:chgrp命令

下一篇:chown命令

给主人留下些什么吧!~~