常用的修改文件组或文件的命令有三个:chgrp、chown、chmod。
1 chgrp 改变文件所属的用户组
改变一个文件的用户组直接以chgrp来改变即可,这个命令时change group 的简称。但是要被改变的组名必须存在才行,即必须在/etc/group文件内存在才行。
如想要改变文件test1.file的文件组为normal:chgrp normal test1.file
2 chown 改变文件所有者
chown是change owner的简称,改变到的用户必须存在/etc/passwd文件中才行。 chown 可以直接修改用户组的名称,如果要连目录下的所有字目录或者文件都同时更改文件所有者的话,使用 chown -R 命令即可。
改变文件所有者为用户liu:chown liu test1.file
改变文件所属组跟所有者为root: chown root:root test1.file
一般什么情况下会使用到chgrp与chown命令呢,常见的情形是我们复制文件给其他用户或者其他组的用户时,复制之后需要改变文件的所属组与所有者,例如我们使用 cp 命令复制时会将属性与权限一起复制过去,不改变文件的属性,其他用户是无法修改的。
3 chmod 改变权限
权限设置的方法有两种,数字或者符号进行权限的更改。Linux 的基本权限有9个,分别是owner、group、others,三种身份各有自己的read、write、execute权限,这9个权限是三个三个一组的,数字与字符代表的权限如下:
r:4 读权限
w: 2 写权限
x: 1 执行权限
3.1 数字改变文件权限
当权限为[-rwxr-x---] 对应的数字权限模式为:
owner = r+w+x --> 4+2+1 = 7
group = r+-+x --> 4+0+1 = 5
others = -+-+- --> 0+0+0 =0
完整的数字权限模式就为:750
如果修改文件test1.file的权限为-rwxr-x--- 则使用 chmod 750 test1.file
如果修改文件test1.file的权限为-rwxr-xr-- 则使用 chmod 754 test1.file
3.2 符号改变文件权限
文件共有9个基本权限,分别是user、group、others 3种身份,我们可以通过u、g、o 来代表3种身份权限,此外a 代表 all,也就是全部权限。读写的权限为r、w、x,我们可以下图的方式来看:
例如我们要设置文件test1.file 的权限为 [-rwxr-xr-x]时:
u: 具有可读可写可执行权限;
g: 具有可读可执行权限;
o: 具有可读可执行权限;
chmod u=rwx,go=rx test1.file;
[-rwxr-xr-x]这个命令我们可以看出u具有所有权限,g去掉了w权限,o去掉了w权限,所以我们也可以使用如下命令:
chmod u-w,u-w test1.file;