乐趣区

关于linux:Linux常用命令之用户权限管理chmodchownchgrpumask命令讲解

这节课咱们重点来学习权限治理命令,说到权限大家可能第一工夫能想到的就是读、写、执行 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 的罕用其余命令。

退出移动版