Linux经常使用命令之用户权限管理chmod、chown、chgrp、umask命令讲解

这节课咱们重点来学习权限管理命令,说到权限你们可能第一时间能想到的就是读、写、执行 rwx 三种权限,在正式讲解权限命令以前,先简单的介绍一下rwx权限对于文件和目录的不一样含义。数组

权限字符 权限 对文件的权限意义 对目录的权限意义
r 读权限 能够查看文件内容 能够列出目中的内容
w 写权限 能够修改文件内容 能够在目录中建立和删除文件
x 执行权限 能够执行文件(如命令、脚本) 能够进入目录

一、chmod 命令解释学习

  • 命令名称:chmod
  • 命令英文全称:change the permissions mode of a file
  • 命令所在路径: /bin/chmod
  • 执行权限:全部用户
  • 命令功能:修改文件或目录的权限
  • 语法:chmod [ugoa] [+-=] [rwx] [文件或目录]

参数说明

[ugo] : u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个所属组(group),o 表示其余之外的人,a 表示这三者皆是。code

[+-=] : + 表示增长权限、- 表示取消权限、= 表示覆盖以前的权限。blog

[rwx] : r 表示可读取,w 表示可写入,x 表示可执行ip

举例

$ chmod u+wx file1 #将 file1的全部者添加可写和可执行权限io

$ chmod o-r file1 #将 file1给其余人去掉可读权限table

$ chmod g=rwx #将所属组的权限设置为可读、写、执行权限,无论以前是的权限是什么test

好比咱们目录下面有file1文件,目前全部者权限是 rw,如今给全部者增长 x 权限,执行 $ chmod u+x file1 便可:file

image

虽然这种方法很方便,可是咱们在实际过程当中,并不太用这种方式,而是经过数字的方法来设置权限,语法以下:权限

$ chmod [mode=421] [文件或目录] #其中 4 表明 r读权限, 2 表明w写权限,1表明x执行权限

咱们知道一个文件的权限是由rwx来表示,好比 rwxr-xr--,在前的文章咱们有提到,把这个权限每三个分为一组,分别表明全部者权限、所属组权限以及其余人权限。

rwxr-xr--举例,每三个分为一组,那么能够分为:全部者权限是 rwx,所属组权限是 r-x,其余人权限是 r--。若是用数组来代替,全部者权限rwx:4+2+1=7,依次类推,所属组权限是5,其余人权限是4。所以用数字来表示权限的命令就是:chmod 754 file

好比我目录下有个 file2文件,目前权限是rw-r--r--(644),如今要改为 rwxr-xr-x(755),执行命令
$ chmod 755 file2 便可:

image

其余参数说明

  • -c : 若该档案权限确实已经更改,才显示其更改动做
  • -f : 若该档案权限没法被更改也不要显示错误讯息
  • -v : 显示权限变动的详细资料
  • -R : 对目前目录下的全部档案与子目录进行相同的权限变动(即以递回的方式逐个变动)
  • --help : 显示辅助说明
  • --version : 显示版本

好比我要对当前目录下全部的文件及目录修改成777权限,执行 $ chmod -R 777 *

二、chown 命令解释

  • 命令名称:chown
  • 命令英文全称:change file ownership
  • 命令所在路径: /bin/chown
  • 执行权限:全部用户
  • 命令功能:修改文件或目录的全部者
  • 语法:chown [用户] [文件或目录]

举例

好比我test目录下面有个file1文件,目前全部者是 root,我想改为我安装系统的时候定义的用户chuan,执行命令:

$chown chuan file1

image

三、chgrp 命令解释

  • 命令名称:chgrp
  • 命令英文全称:change file group ownership
  • 命令所在路径: /bin/chgrp
  • 执行权限:全部用户
  • 命令功能:修改文件或目录的所属组
  • 语法:chgrp [用户组] [文件或目录]

使用方法和chown同样,这里就很少作说明了。

四、umask 命令解释

  • 命令名称:umask
  • 命令所在路径: /bin/umask
  • 执行权限:全部用户
  • 命令功能:在创建文件时预设缺省的权限掩码
  • 语法:umask [-S]

参数说明

-S以文字的方式来表示权限掩码

举例

可使用命令 umask 来查看umask值:

$ umask

image

能够看到umask值为0022,其中第一个0与特殊权限有关,能够暂时不用理会,后三位002则与普通权限(rwx)有关,即权限掩码值,其中002中:

  • 第一个0与用户(user)权限有关,表示从用户权限减0,也就是权限不变,因此文件的全部者的权限是默认权限(rwx)

  • 第二个2与组权限(group)有关,因为w=2,因此须要从其余用户默认权限(rw)减去2,也就是去掉写(w)权限
    所属组的权限(r-x)

  • 最后一位2则与系统中其余用户(others)的权限有关,也是同样的去掉写(w)权限。

所以最后咱们查看它的权限应该是:rwxr-xr-x

其实这样看起来不太直观,咱们可使用:

$ umask -S

用户权限管理命令主要就是以上几个命令了,下一节课咱们来继续学习Linux的经常使用其余命令。

image

相关文章
相关标签/搜索