当前位置: 首页 > Linux

Linux常用命令chmod、chown、chgrp、umask命令的用户权限管理

时间:2023-04-07 00:32:26 Linux

本节课,我们将重点学习权限管理命令。说到权限大家可能会想到三种:读、写、执行rwx权限,在正式讲解权限命令之前,先简单介绍一下rwx权限对文件和目录的不同含义。Permission字符权限文件权限含义目录权限含义r读权限可以查看文件内容可以列出目的地的内容w写权限可以修改文件内容可以在目录下创建和删除文件x执行权限可以执行文件(比如命令,script)可以进入目录1、chmod命令说明命令名称:chmod命令英文全名:更改文件的权限模式命令位置路径:/bin/chmod执行权限:所有用户命令功能:修改一个文件的权限语法fileordirectory:chmod[ugoa][+-=][rwx][fileordirectory]??参数说明[ugo]:u表示文件的所有者,g表示与文件的所有者同组,o表示某人除其他外,a表示所有三个。[+-=]:+表示增加权限,-表示取消权限,=表示覆盖之前的权限。[rwx]:r表示可读,w表示可写,x表示可执行例子$chmodu+wxfile1#给file1的所有者增加可写和可执行的权限$chmodo-rfile1#把file1给别人去掉可读的权限$chmodg=rwx#设置组的权限为读、写、执行,不管前面的权限是什么。比如我们的目录下有一个file1文件。当前owner权限是rw,现在给all了或者增加x权限,执行$chmodu+xfile1:这个方法虽然很方便,但是我们在实际过程中并没有使用这个方法,而是设置permissionbynumber,语法如下:$chmod[mode=421][fileordirectory]??#4表示r读权限,2表示w写权限,1表示x执行权限我们知道,一个文件的权限是表示通过rwx,比如rwxr-xr--,我们在上一篇文章中提到,这个权限分为三组,分别代表owner权限,group权限和otherperson权限。以rwxr-xr--为例,每三个分组,则可以分为:所有者权限为rwx,组权限为r-x,其他权限为r--。如果用数组代替,所有者权限rwx:4+2+1=7,以此类推,组权限为5,对方权限为4。因此,用数字表示权限的命令为:chmod754file比如我的目录下有一个file2文件,当前权限是rw-r--r--(644),现在需要改成rwxr-xr-x(755),执行命令$chmod755file2:其他参数说明-c:如果文件权限确实被更改,则显示更改动作-f:如果文件权限不能更改,不显示错误信息-v:显示权限更改details-R:对当前目录下的所有文件和子目录进行相同的权限更改(即递归的方式逐一更改)--help:显示辅助说明--version:显示版本比如我想修改当前目录修改所有文件和目录为777权限,执行$chmod-R777*2,chown命令解释命令名:chown命令英文全名:更改文件所有权命令路径:/bin/chown执行权限:allusers命令功能:修改文件或目录的属主语法:chown[用户][文件或目录]比如test目录下有一个file1文件,当前属主是root,我想改成用户chuan我安装系统时定义的,执行命令:$chownchuanfile13,chgrp命令解释命令名称:chgrp命令英文全名:更改文件组所属命令路径:/bin/chgrp执行权限:所有用户命令功能:修改组文件或目录所属语法:chgrp[用户组][文件或目录]用法与chown相同,这里不再赘述。4、umask命令说明命令名称:umask命令所在路径:/bin/umask执行权限:所有用户命令功能:创建文件时预设默认权限掩码语法:umask[-S]参数说明-S以文本开头例如可以使用命令umask查看umask值:$umask可以看到umask值为0022,其中第一个0与特殊权限有关,可以暂时忽略,后三个数字002与普通权限(rwx)相关,即权限掩码值,其中002:第一个0与用户(user)权限相关,表示用户权限减0,即权限不变,所以文件所有者的权限为默认权限(rwx)第二个2与组权限(group)有关。由于w=2,需要将其他用户的默认权限(rw)减去2,即去掉write(w)权限所属组的权限(r-x)。最后A2关联到系统中其他用户(others)的权限,write(w)权限也用同样的方法去掉。所以最后我们应该查看它的权限:rwxr-xr-x其实这个好像不太直观,我们可以使用:$umask-S用户权限管理命令主要就是上面的命令,我们下一课继续学习其他Linux常用命令。