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

Linux常用命令之用户权限管理chmod、chown、chgrp、umask命令讲解的更多相关文章

  1. Linux_CentOS用户管理 和 用户权限管理 chmod、ACL、 visudo

    一.用户管理 Linux 系统同时可以支持多个用户,每个用户对自己的文件设备有特殊的权利,能够保 证用户之间互不干扰.就像手机开了助手一样,同时登陆多个 qq 账号,当硬件配置非常高 时,每个用户还可 ...

  2. linux用户权限管理, chmod, ln

    1 /etc/passwd文件 用户名  密码    UID        GID           Full Name                      主目录               ...

  3. linux笔记:权限管理命令chmod,chown,chgrp,umask

    权限对文件和目录的含义是不同的:对文件来说:读:可以查看文件内容写:可以修改文件内容执行:可以执行文件对目录来说:读:可以列出目录中的内容写:可以在目录中创建.删除文件执行:可以进入目录 能够更改文件 ...

  4. Linux第四节 组管理、用户管理、权限管理 / chmod /chown / umask / vim

    三期第三讲1.组管理/用户管理(重要文件系统会实时备份 file-) vim/etc/group: 组管理文件://组名:密码控位键:组id:成员 vim/etc/gshadow:组密码管理文件:// ...

  5. Linux命令(19)用户权限管理:chown

    linux用户权限: Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者.利用 chown 可以将档案的拥有者加以改变. 一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者 ...

  6. Linux命令之用户权限管理

    1.创建组.删除组.修改组名.查看组 groupadd 组名 #添加用户组 groupdel 组名 #删除用户组 groupmod -n 新组名 原组名 #修改用户组名称 groups 用户名 #查看 ...

  7. Ubuntu用户权限管理(chown, chmod)

    改变文件所有权chown 例如 sudo chown username myfile myfile文件的所有权变为username. chown -R username /files/work 加入参 ...

  8. linux中权限管理命令(chmod/chown/chgrp/unmask)

    目录 chmod chown chgrp umask chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/ ...

  9. 目录(cd mkdir rmdir rm pwd ls) 文件(ln touch mv rm cat more head rail) 文件权限(chmod chown chgrp) 文件通配符(* ? [])

    记住Linux目录树的结构是一个称职Linux系统管理员的必备素质! 目录漫游cd   cd - 目录显示pwd 目录管理 mkdir -p a/b/c/1 parent创建多层目录 -m 700   ...

随机推荐

  1. java 基本语法(十一) 数组(四)数组的常见算法

    1.数组的创建与元素赋值: 杨辉三角(二维数组).回形数(二维数组).6个数,1-30之间随机生成且不重复. 杨辉三角 public class YHSJ { public static void m ...

  2. 数据可视化之powerBI入门(三)财务人员必学,使用Powerquery是一种什么体验?

    https://zhuanlan.zhihu.com/p/54700574 财务人员必学,使用Powerquery是一种什么体验? 你和Excel高手的距离只差了一个Power Query!!! 先思 ...

  3. 02 flask源码剖析之flask快速使用

    02 flask快速使用 目录 02 flask快速使用 1.flask与django的区别 2. 安装 3. 依赖wsgi Werkzeug 4. 快速使用flask 5. 用户登录&用户管 ...

  4. 一张PDF了解JDK10 GC调优秘籍-附PDF下载

    目录 简介 Java参数类型 Large Pages JIT调优 总结 简介 今天我们讲讲JDK10中的JVM GC调优参数,JDK10中JVM的参数总共有1957个,其中正式的参数有658个. 其实 ...

  5. bzoj3620似乎在梦中见过的样子

    bzoj3620似乎在梦中见过的样子 题意: 给出一个字符串,要求求出形如A+B+A的子串数量,且lenA≥k,lenB≥1.字符串长度≤15000,k≤100,所以字符长度为小写字母. 题解: 第一 ...

  6. ETag简介与作用

    ETag简介与作用 一.ETag简介 ETag是URL的tag,用来标示URL对象是否改变.这样可以应用于客户端的缓存:服务器产生ETag,并在HTTP响应头中将其传送到客户端,服务器用它来判断页面是 ...

  7. 通过server酱实现定时推送天气情况,再不用担心你的糊涂蛋女友忘带伞了~~

    昨天菜鸟小白给大家留了一个课后作业,如何实现天气的定时推送.有没有小伙伴做出来答案呢?今天菜鸟小白给大家分享我的实现方式吧.这个是我今天整的程序流程图,昨天我们还只是实现了中间的通过和风天气API获取 ...

  8. css初始化表(normalize.css)

    为什么要初始化CSS? 建站老手都知道,这是为了考虑到浏览器的兼容问题,其实不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面差异.当然,初始化样式会对SEO有一定的 ...

  9. 题解 SP2713 【GSS4 - Can you answer these queries IV】

    用计算器算一算,就可以发现\(10^{18}\)的数,被开方\(6\)次后就变为了\(1\). 所以我们可以直接暴力的进行区间修改,若这个数已经到达\(1\),则以后就不再修改(因为\(1\)开方后还 ...

  10. shell脚本带参数启动项目

    用maven工程打包时,会将数据库连接一并打进去,如果需要经常修改数据库连接,则需要打开jar包然后修改配置,这样很麻烦耗时并且容易出错. 因此需要将数据库配置放入项目外,这样修改数据库时去固定的配置 ...