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目录下所有文件和子目录的属主分配读的权限