chmod-修改文件权限

来源:互联网 发布:js setdata 编辑:程序博客网 时间:2024/05/20 10:15

chmod是Linux修改文件权限的命令

$chmod [-R] 权限 文件或目录

这里的 -R 为递归操作,即同时修改子目录下所有文件。
权限数字字符 进行表示

1、数字

Linux中文件所属的角色有3个:owner、group、other,它们又各自拥有自己的read、write、execute权限,即共9个基本权限。read、write、execute分别用 rwx 来表示,其对应的数字为

r  = 4w  = 2x  = 1

将数字进行累加,得到的值就代表了相应的权限

以owner角色为例,假设有文件 test.sh ,owner对文件同时拥有r、w、x3个权限,那么它的权限为 r+w+x => 4+2+1 = 7,这里的 7 就是owner这个角色对文件所拥有的的权限值
同理,假设group角色对文件仅拥有r、w权限,那么它的权限值为r+w => 4+2 = 6;other仅拥有w权限,它的权限值为 x => 1

此时,拼接3个角色所计算出来的权限值,就是文件的权限了。即[owner][group][other] => [7][6][1] = 761,更改文件权限chmod的语法为

$chmod 761 test.sh

如果某角色对文件没有任何权限,那么其对应的权限值为 0 。以上面例子为基础,我们希望将文件的other角色的权限去除,即不给other角色任何权限。
other角色所拥有的权限值为 0 ,那么更改文件权限的 chmod 语法为

$chmod 760 test.sh

2、字符

u、g、o分别代表角色owner、group、other,同时以 a 代表all(即同时代表3个角色)。reead、write、execute依然以 r、w、x 代表,此时 chmod 语法为

$chmod u=rwx,g=rwx,o=rwx test.sh

等价于

$chmod a=rwx test.sh

假设owner用户对文件 test.sh 拥有r、w、x权限,group角色拥有r、w权限,other角色拥有r权限,此时 chmod 语法为

$chmod u=rwx,g=rw,o=r test.sh

若此时希望将other角色权限去除,即不给于other角色任何权限,那么命令就变成了

$chmod u=rwx,g=rw test.sh

为了方便单独设置某个角色的某个权限,可以使用 +- 进行操作。 + 为添加权限, - 为去除权限
假设我们需要给group角色去除 w 权限, chmod 的语法为

$chmod g-w test.sh

为other用户添加 r 权限

$chmod o+r test.sh

值得注意的是,a 代表了所有角色,而角色符缺省时,默认为 a ,即

$chmod a+x test.sh

等价于

$chmod +x test.sh
0 0
原创粉丝点击