这节课咱们重点来学习权限治理命令,说到权限大家可能第一工夫能想到的就是读、写、执行 rwx 三种权限,在正式解说权限命令之前,先简略的介绍一下rwx权限对于文件和目录的不同含意。

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

1、chmod 命令解释

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

参数阐明

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

[+-=] : + 示意减少权限、- 示意勾销权限、= 示意笼罩之前的权限。

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

举例

$ chmod u+wx file1 #将 file1的所有者增加可写和可执行权限

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

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

比方咱们目录上面有file1文件,目前所有者权限是 rw,当初给所有者减少 x 权限,执行 $ chmod u+x file1 即可:

尽管这种办法很不便,然而咱们在理论过程中,并不太用这种形式,而是通过数字的办法来设置权限,语法如下:

$ 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 即可:

其余参数阐明

  • -c : 若该档案权限的确曾经更改,才显示其更改动作
  • -f : 若该档案权限无奈被更改也不要显示谬误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有档案与子目录进行雷同的权限变更(即以递回的形式一一变更)
  • --help : 显示辅助阐明
  • --version : 显示版本
比方我要对当前目录下所有的文件及目录批改为777权限,执行 $ chmod -R 777 *

2、chown 命令解释

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

举例

比方我test目录上面有个file1文件,目前所有者是 root,我想改成我装置零碎的时候定义的用户chuan,执行命令:

$chown chuan file1

3、chgrp 命令解释

  • 命令名称:chgrp
  • 命令英文全称:change file group ownership
  • 命令所在门路: /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,也就是去掉写(w)权限

所属组的权限(r-x)

  • 最初一位2则与零碎中其余用户(others)的权限无关,也是一样的去掉写(w)权限。

因而最初咱们查看它的权限应该是:rwxr-xr-x

其实这样看起来不太直观,咱们能够应用:

$ umask -S

用户权限治理命令次要就是以上几个命令了,下一节课咱们来持续学习Linux的罕用其余命令。