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


    这节课我们重点来学习权限管理命令,说到权限大家可能第一时间能想到的就是读、写、执行 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 即可:

    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 *

    2、chown 命令解释

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

    举例

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

    $chown chuan file1

    image

    3、chgrp 命令解释

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

    使用方法和chown一样,这里就不多做说明了。

    4、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

  • 相关阅读:
    maven项目,去除jar包中的不想要的依赖关系
    Eclipse:An internal error occurred during: "Build Project". GC overhead limit exceeded
    如何用Maven创建web项目(具体步骤)
    让Jackson JSON生成的数据包含的中文以unicode方式编码
    MySQL存储过程详解 mysql 存储过程
    MySQL SQL Injection(注入)
    撤销Excel工作表保护密码(考勤机报表)
    youtube-dl下载视频
    LSI9240 8i在dos下刷IT直通模式
    制作DOS引导U盘(支持扩展任何dos下的程序)
  • 原文地址:https://www.cnblogs.com/jiupai-Linux/p/13433442.html
Copyright © 2020-2023  润新知