zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    mysql 函数 存储过程 事件(event) job 模板
    protobuf 无proto 解码 decode 语言 java python
    mitmproxy fiddler 抓包 填坑
    android adb 常用命令
    android机器人 模拟 踩坑过程
    RabbitMQ添加新用户并支持远程访问
    Windows下RabbitMQ安装及配置
    Java mybatis mysql 常用数据类型对应关系
    easyExcel 踩坑
    linux防火墙查看状态firewall、iptable
  • 原文地址:https://www.cnblogs.com/jiupai-Linux/p/13433442.html
Copyright © 2011-2022 走看看