linux修改文件读写执行权限命令chmod

之前用chmod的时候都是简单的类似下面这样使用:

$chmod 755 file

也有时候可能会修改一个目录下所有子目录和文件:

$chmod 755 directory -R

也知道3个数字(例子中的755)分别代表赋予 “文件属主用户”、“文件所属组用户”、“其他用户” 这三种用户对文件的读(4)、写(2)、执行(1)权限。

7=4+2+1,所以就代表读写执行权限,5=4+1,代表读和执行权限。

我也知道有用字母表示权限的方法,r读、w写、x执行。但我觉得上面的数字表示的方法已经够用了,也就没深入研究过。

前段时间的一次面试中,被问到chmod相关的问题,上面的内容都答出来了,我觉得已经不错了,没想到面试官接着问,怎么样只给一种用户、比如只给所属主用户设置一个权限,并且不改变其他用户现有的权限。这个问题当时没答上来。回来以后度娘了一下,补补漏:

$ chmod u+x file 给file的属主增加执行权限
$ chmod 751 file 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file 上例的另一种形式 (u=rwx,g=rx,o=x中间不能有空格)
$ chmod =r file 为所有用户分配读权限
$ chmod 444 file 同上例
$ chmod a-wx,a+r 同上例
$ chmod -R u+r 目录名称 递归地给directory目录下所有文件和子目录的属主分配读的权限

 

posted @ 2013-08-01 11:32  soj  阅读(34080)  评论(0编辑  收藏  举报