基本权限管理

权限的介绍

权限位的含义

前面讲解ls命令时,我们已经知道长格式显示的第一列就是文件的权限,例如:

[root@es ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1573 May 18 23:28 anaconda-ks.cfg

第一位为文件类型

文件类型标识 文件类型
- 普通文件
d 目录文件
l 软链接文件
s(伪文件) 套接字文件
b(伪文件) 块设备文件
c(伪文件) 字符设备文件
p(伪文件) 管道符文件

第一列的权限位如果不计算最后的 "." (这个点的含义我们在后面解释),则共有10位,这10位权限位的含义如图所示。

基本权限介绍

修改权限的命令 chmod ,基本信息如下

命令格式

[root@es ~]#chmod [选项] 权限模式 文件名

选项:

-R : 递归设置权限,也就是给子目录中的所有文件设定权限

权限模式

chmod 命令的权限模式的格式时"[ugoa][[+-=][perms]]",也就是“[用户身份][[赋予方式][权限]]”的格式

  • 用户身份:

    • u:代表所有者(user)

    • g:代表所属组(group)

    • o:代表其他人(other)

    • a:代表全部身份(all)

  • 赋予方式:

    • +:加入权限

    • -:减去权限

    • =:设置权限

  • 权限:

    • -r:读取权限(read)

    • -w:写权限(write)

    • -x:执行权限(execute)

数字权限

数字权限的赋予方式是最简单的,但是不如之前的字母权限好记,直观。我们来看看这些数字权限的含义。

  • 4:代表"r"权限

  • 2:代表"w"权限

  • 1:代表"x"权限

常用权限

数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多,只有如下几个。

  • 644:这是文件的基本权限,代表所有者拥有读,写权限,而所属组和其他人拥有只读权限。

  • 755:这是文件的执行权限和目录的基本权限,代表所有者拥有读,写和执行权限,而所属组和其他人拥有读和执行权限。

  • 777:这时最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会造成一定的安全隐患。

基本权限的作用

权限含义的解释

首先,读,写,执行权限对文件和目录的作用是不同的。

  • 权限对文件的作用

    • 读(r):对文件有读(r)权限,代表可以读取文件中的数据。如果把权限对应到命令上,那么一旦对文件有读(r)权限,就可以对文件执行cat,more,less,head,tail等文件查看命令。

    • 写(w):对文件有写(w)权限,代表可以修改文件中的数据。如果把权限对应到命令上,那么一旦对文件有写(w)权限,就可以对文件执行vim,echo等修改文件数据的命令。注意:对文件有写权限,是不能删除文件本身的,只能修改文件中的数据。如果要想删除文件,则需要对文件的上级目录拥有写权限。

    • 执行(x):对文件有执行(x)权限,代表文件拥有了执行权限,可以运行。在Linux中,只要文件有执行(x)权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行,不仅需要执行(x)权限,还要看文件中代码是不是正确的语言代码。文件夹来说,执行(x)权限是最高权限。

  • 权限对目录的作用

    • 读(r):对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。如果把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可以在目录下执行ls命令,查看目录下的内容

    • 写(w):对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建,删除,复制,剪切子文件或子目录。如果把权限对应到命令上,那么一旦目录拥有了写(w)权限,就可以在目录下执行touch,rm,cp,mv命令。对目录来说写(w)权限是最高权限。

    • 执行(x):目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入到目录。如果把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行cd命令,进入目录。

目录的可用权限

目录的可用权限其实有以下几个

  • 0:任何权限都不赋予

  • 5:基本的目录浏览和进入权限

  • 7:完全权限

所有者和所属组命令

chown命令

修改权限的命令 chown ,基本信息如下

[root@es ~]#chown [选项] 所有者:所属组 文件或目录

选项:

-R : 递归设置权限,也就是给子目录中的所有文件设定权限

普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行,只有超级用户才能修改

普通用户可以修改所有者是自己的文件的权限=

umask 默认权限

查看系统的umask权限

#用八进制数值显示umask权限
[root@centos7 ~]# umask
0022 #用字母表示文件和目录的初始权限
[root@centos7 ~]# umask -S
u=rwx,g=rx,o=rx

umask权限的计算方法

我们需要先了解一下新建文件和目录的默认最大权限

  • 对文件来讲,新建文件的默认最大权限是666,没有执行(x)权限。这时因为执行权限对文件来讲比较危险,不能在新建文件的时候默认赋予,而必须通过用户手工赋予。

  • 文件的默认权限最大只能是666,而umask的值是022

    "-rw-rw-rw-"减去"-----w--w-" 等于"-rw-r--r--"

  • 对目录来讲,新建文件的默认最大权限是777。这时因为对目录而言,执行(x)权限仅仅代表进入目录,所以即使建立新文件时直接默认赋予,也没有什么危险。

  • 目录的权人权限最大只能是777,而umask的值是022

"drwxrwxrwx" 减去 "d----w--w-" 等于 "drwx-r-xr-x"

写在最后

如果文档对你有帮助的话,留个赞再走吧 ,你的点击是我的最大动力。

我是键盘侠,现实中我唯唯诺诺,网络上我重拳出击,关注我,持续更新Linux干货教程。

更多键盘侠Linux系列教程:链接地址

更多Linux干货教程请扫:

键盘侠Linux教程(五)| 基本权限管理的更多相关文章

  1. Linux用户及文件权限管理

    Linux用户及文件权限管理

  2. Linux课程---10、权限管理(权限有哪几种)

    Linux课程---10.权限管理(权限有哪几种) 一.总结 一句话总结: r 读 w 写 x 执行 1.drwxr-x---  2 root root  4096 Jan 20 19:39 mnt ...

  3. Linux系列教程(五)——Linux链接命令和权限管理命令

    前一篇博客我们讲解了Linux文件和目录处理命令,还是老生常淡,对于新手而言,我们不需要完全记住命令的详细语法,记住该命令能完成什么功能,然后需要的时候去查就好了,用的多了我们就自然记住了.这篇博客我 ...

  4. 键盘侠Linux教程(四)| 常用命令

    前言 Linux命令并不可怕,只要熟悉日常的操作命令即可,其他不熟悉的命令,需要用到的时候可以查阅资料,熟能生巧. Linux常用操作命令 命令的基本格式 命令的提示符 [root@localhost ...

  5. Linux UGO和ACL权限管理

    自主访问控制(Discretionary Access Control, DAC)是指对象(比如程序.文件.进程)的拥有者可以任意修改或者授予此对象相应的权限.Linux的UGO(User, Grou ...

  6. Linux(3)用户和权限管理

    用户, 权限管理 Linux中root账号通常用于系统的维护和管理, 它对操作系统的所有部分具有不受限制的访问权限 在Unix/Linux安装过程中, 系统会自动创建许多用户账号, 而这些默认的用户就 ...

  7. Linux系统文件与目录权限管理

    Linux文件目录权限管理 一.Linux文件属性及权限 1.Linux文件及目录权限及属性说明 (1)权限及属性说明 (2)文件权限说明 三种权限说明:r 读  read w 写  write  x ...

  8. Linux命令-用户及权限管理

    一.权限管理linux系统中对文件权限的描述机制: u g od r w x r w x r - x (r读,w写,x执行)文件 所有者 所属组 其他人可以表示为二进制: 111 111 101也可以 ...

  9. Linux学习之常用权限管理命令(二)

    (一)常用权限管理命令 (1)chmod命令 (2)chown (3)chgrp (4)umask (一)常用权限管理命令 (1)chmod命令 命令名称:chmod命令英文原意:change the ...

随机推荐

  1. 解决google play上架App设置隐私政策声明问题

    在我们的app上架到google play后,为了赚点小钱,就集成google ads,然而这会引发一个新的问题,那就是设置隐私政策声明的问题,通常我们会收到一封来自google play的邮件,提示 ...

  2. 10 . Python之面向对象

    面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向对象初识别 面向过程v ...

  3. 【asp.net core 系列】3 视图以及视图与控制器

    0.前言 在之前的几篇中,我们大概介绍了如何创建一个asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元.这一篇我们将介绍一下控制器与视图直接的关系. 1. 视图 这里的 ...

  4. Javascript中target事件属性,事件的目标节点的获取。

    window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为 ...

  5. Java实现 LeetCode 766 托普利茨矩阵(暴力)

    766. 托普利茨矩阵 如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵. 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True. 示例 1: 输 ...

  6. Java实现 蓝桥杯VIP 算法训练 最大值与最小值的计算

    输入11个整数,计算它们的最大值和最小值. 样例输入 0 1 2 3 4 5 6 7 8 9 10 样例输出 10 0 import java.util.Scanner; public class 最 ...

  7. SQL Server实现 LeetCode 178 分数排名

    178. 分数排名 SQL架构 编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有& ...

  8. Java实现 蓝桥杯VIP 算法提高 分分钟的碎碎念

    算法提高 分分钟的碎碎念 时间限制:1.0s 内存限制:256.0MB 问题描述 以前有个孩子,他分分钟都在碎碎念.不过,他的念头之间是有因果关系的.他会在本子里记录每一个念头,并用箭头画出这个念头的 ...

  9. Java实现 蓝桥杯VIP 算法提高 递归倒置字符数组

    算法提高 递归倒置字符数组 时间限制:1.0s 内存限制:512.0MB 问题描述 完成一个递归程序,倒置字符数组.并打印实现过程 递归逻辑为: 当字符长度等于1时,直接返回 否则,调换首尾两个字符, ...

  10. Java实现 蓝桥杯 算法训练 字符串合并

    试题 算法训练 字符串合并 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个字符串,将其合并为一个字符串后输出. 输入格式 输入两个字符串 输出格式 输出合并后的字符串 样例 ...