Linux – 修改文件属性与权限

一、修改文件所属用户组

命令:chgrp -R 【用户组名】 【文件名】 (change group 缩写)

修改前提:修改成的归属属性组必须存在于 /etc/group 中,否则会不成功。

注:-R 参数为递归将该目录及其下所有文件统一变更,这里不论是不是目录,我都加上该参数。

示例:chgrp -R project-manage index.php

二、修改文件拥有者

命令:chown -R 【用户名】 【文件或目录名】 (change owner 缩写)

示例:将cphalcon 目录下的所有文件拥有者改为用户 xiaobudiu chown -R xiaobudiu cphalcon/

三、修改文件权限

说明:修改文件权限有两种方式,一种是数字类型修改文件权限,也是普遍使用的一种;另一种是符号类型修改,这里将分别介绍。

1、数字类型修改文件权限(最常用)

 
命令:chmod -R 777 【文件或目录】

 
修改须知:

r:可读权限(read 缩写),代表数字为 4

w:可写权限(write 缩写),代表数字为 2

x:可执行权限(execute 缩写),代表数字为 1

如果一个文件身份权限串为 rwxr-xr-x, 则说明:

(1)文件拥有者拥有 r + w + x = 7 (可读、可写、可执行权限)

(2)文件用户组拥有 r + x = 5 (可读、不可写、可执行权限)

(3)其他用户拥有 r + x = 5 (可读、不可写、不可执行权限)

 
重要说明:

权限串一共9个字符,每三个为一组,分别代表一个身份拥有的权限,每三个的顺序必然都是rwx,如果身份没有相应权限,则相应位置填入 -,表示没有相应权限。

关于这一块更详细的说明查看 文件属性分析

 
所以,此处出一道例题:

将index.php设置为:

(1)文件拥有者权限为 可读、可写、可执行

(2)文件用户组权限为 可读、不可写、可执行权限

(3)其他用户权限为 不可读、不可写、不可执行权限,

如何写 Linux 命令?

chmod -R 750 index.php

2、符号类型修改文件权限(不常用)

上面修改文件权限方式为最常用的数字类型修改,命令很简单,现在介绍一种用符号修改的方式:

(1)代表身份的符号:

u:代表文件拥有者(user 缩写)

g:文件用户组(group 缩写)

o:其他用户 (other 缩写)

a:所有身份(all 缩写),即包括文件拥有者、用户组、其他用户全部身份

(2)代表权限的符号:

r:可读权限(read 缩写)

w:可写权限(write 缩写)

x:可执行权限(execute 缩写)

(3)代表操作的符号:

+:添加

-:移除

=:设置

例题:

将index.php设置为:

(1)文件拥有者权限为 可读、可写、可执行

(2)文件用户组权限为 可读、不可写、可执行权限

(3)其他用户权限为 不可读、不可写、不可执行权限,

如何用符号类型修改文件权限?

第一种解决方式:直接进行设置,不去管之前有什么权限

chmod -R u=rwx,g=rx index.php

注:u=rwx,g=rx 中间不能有空格,直接用 , 相连。

第二种解决方式:在原来基础上添加移除权限

比如该文件原来的权限为 r-x--x--x,那我们就可以在此基础上进行修改

chmod -R u+w,g+r,o-x index.php

说明:

u+w:表示为 u(文件拥有者)添加 w 权限,之前是 rx 权限,添加之后就将变成 rwx

g+r:表示为 g(用户组)添加 r 权限,之前是 x 权限,添加之后就将变成 rx

o-x:表示为 o(其他用户)移除 x 权限,之前是 x 权限,移除之后就将变成没有任何权限

备注:使用符号 a 实例

为文件 index.php 的所有身份赋予可读可执行权限。

chmod a+rx index.php