Linux常用命令(4)——权限管理命令

简介: Linux常用命令(4)——权限管理命令

权限管理命令

权限位的含义

[root@localhost ~]# ll
drwxr-xr-x. 2 root root    6 Jul 11 08:38 Desktop

权限位如果不计算最后的.(这个点表示该文件收SELinux保护),那么就只有10位

第一位代表文件类型

Linux不像Windows使用后缀名来标识文件类型,而是使用权限位的第一位表示文件类型,详细文件名可以使用info ls来查看

  • -:普通文件
  • b:块设备文件,这是一种特殊设备文件,存贮设备都是这种文件,如分区文件/dev/sda1就是这种文件
  • c:字符设备文件,这也是一种特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。
  • d:目录文件,linux中一切皆文件,所以目录也是一种文件
  • l:软连接文件
  • p:管道符文件,这是一种极少见的特殊设备文件
  • s:套接字文件,这也是一种特殊设备文件,一些服务支持Socket访问,就会产生这样的文件。

第2-4位代表文件所有者的权限

  • r:代表read,是读取权限
  • w:代表write,是写权限
  • x:代表execute,是执行权限

如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限

第5-7位代表文件所属组的权限

  • r:代表read,是读取权限
  • w:代表write,是写权限
  • x:代表execute,是执行权限

如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限

第8-10位代表其他人的权限

  • r:代表read,是读取权限
  • w:代表write,是写权限
  • x:代表execute,是执行权限

如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限

基本权限的命令

chmod命令

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

  • 命令名称:chomd
  • 英文原意:change file mode bits
  • 所在路径:/usr/bin/chmod
  • 执行权限:所有用户
  • 功能描述:修改文件的权限模式
[root@localhost~]# chmod [选项] 权限模式 文件名
选项:
  -R:     递归设置权限,也就是给予目录中的所有文件设定权限

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

普通用户不能修改文件的所有者,哪怕文件是属于自己的。只有root才能修改文件所有者。

权限模式

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):对文件有读的权限,代表可以读取文件的数据。如果把权限对应到命令上,那么一旦对文件有读的权限,就可以对文件执行cat、more、less、head、tail等命令查看文件内容
  • 写(w):对文件有写的权限,代表可以修改文件的数据,如果把权限对应到命令上,那么一旦对文件有写的权限,就可以对文件执行vim、echo等修改文件数据的命令。但是对文件有写的权限并不能删除文件,要对文件的上级目录有写的权限
  • 执行(x):对文件有执行权限,代表文件拥有执行权限,可以运行。在linux中,只要文件有执行权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行,不仅需要x权限,还要看文件中的代码是不是正确的语言代码。对文件来说,执行权限是最高权限。

权限对目录的作用

  • 读(r):对目录有读的权限,代表可以看看目录下的内容,也就是可以查看目录下有哪些子目录和子文件。如果把权限对应到命令上,那么一旦对目录拥有了读权限,就可以在目录下执行ls命令,查看目录下的内容
  • 写(w):对目录有写权限,代表可以修改目录下的数据,也就是可以在目录中新建、复制、剪切子文件或子目录。如果把权限对应到命令上,那么一旦对目录拥有了写权限,就可以在目录下执行 touch、rm、cp、mv 命令。对目录来说,写权限是最高权限。
  • 执行(x):目录是不能运行的,对目录有了执行权限,代表可以进入目录。如果把权限对应到命令上,那么一旦对目录拥有了执行,就可以对目录cd,进入目录

执行权限对于目录来说是必需的,所以目录的权限只有0、5、7三种

所有者和所属组命令

chown

chown可以修改文件和目录的所有者和所属组,其基本信息如下:

  • 命令名称:chown
  • 英文原意:change file owner and group
  • 所在路径:/usr/bin/chown
  • 执行权限:所有用户
  • 功能描述:修改文件和目录的所有者和所属组
[root@local~]# chown [选项] 所有者:所属组 文件或目录
选项
  -R:     递归设置权限,也就是给子目录中的所有文件设置权限

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

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

chgrp

chgrp是修改文件和目录的所属组的命令,其基本信息如下:

  • 命令名称:chgrp
  • 英文原意:change group ownership
  • 所在路径:/usr/bin/chown
  • 执行权限:所有用户
  • 功能描述:修改文件和目录的所属组
[root@local~]# chgrp user file
#将文件file的所属组改为user

umask默认权限

默认八进制显示; -S 用字母表示;

先了解一下新建文件和目录的默认最大权限。

  • 对文件来讲,新建文件的默认最大权限是666,没有执行权限。这是因为执行权限对文件来讲比较危险,不能在新建文件的时候默认赋予,而必须通过用户手工赋予。
  • 对目录来讲,新建目录的默认最大权限是777。这是因为对目录而言,执行权限仅仅代表进入目录,所以即使建立新文件时直接默认赋予,也没有什么危险

按照官方的标准算法,umask默认权限需要使用二进制进行逻辑与和逻辑非联合运算才可以得到正确的新建文件和目录的默认权限。这种方法既不好计算,也不好理解

这里还是按照权限字母来讲解umask权限的计算方法。超级用户的umask值为002,我们就按照普通用户默认的umask值是022来分别计算一下新建文件和目录的默认权限吧:

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

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

  • 目录的默认权限最大可以是777,而umask的值是022

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

注意:umask默认权限的计算绝不是数字直接相减。

例如umask是033呢?

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

如果直接数字加减,那么权限是633,而3不可能出现在权限数字里

-rw-rw-rw-减去-----wx-wx等于-rw-r–r—

相关文章
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
409 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
289 137
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
659 57
|
1月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
369 2
|
2月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
250 0
Linux内存问题排查命令详解
|
2月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
258 16
|
3月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
508 0
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的