在Linux中,每一个文件或目录都有r、w、x的权限,其中r代表read,w代表write、x代表execute。同时每一个文件或目录都有针对不同的角色的不同权限,角色有3个,分别为u、g、o,其中u代表owner,g代表group,o代表others,也可以使用a来共同代表这3个角色。
当使用ls –l命令时,输出结果中第一列即是权限。
ls –l的输出结果中,第一列的后9个字符,可以分为3组,分别代表了owner、group及others的权限。
chmod命令用于更改文件(目录)的权限。更改权限的方式有两种,分别为数字方式和字符方式。其用法如下:
数字方式
数字方式即使用不同的数字代表不同的权限。其中使用4代表r的权限,使用2代表w的权限,使用1代表x的权限。而对文件(目录)的每种角色来说,其权限是这三个数字的累加的结果。如当某文件的权限为[-rwxrwx---],则:
owner的权限= rwx=4+2+1=7
group的权限=rwx=4+2+1=7
others的权限=---=0+0+0=0
比如对于当前目录下的test目录:
若此时要更改其权限为所有人都拥有所有的权限,则可以:
字符方式
使用字符方式时,可以使用+、-和=来给u、g、o、a增加或减少或赋予不同的权限。比如,对于刚才的test目录,若想让owner有所有权限、group和others只有r的权限,则可以:
此时,若再想设置owner的权限为rw,而group的权限为rwx,others的权限为rw,则可以:
需要注意的,给u、g、o分配不同的权限时,命令中间使用’,’隔开,不能有空格。
转载于:https://blog.51cto.com/zhangqingli/1332193