linux文件操作权限详解

蓝亚之舟
蓝亚之舟
蓝亚之舟
57
文章
17
评论
2021年4月20日16:57:18
评论
1,815 1674字阅读5分34秒

前言

linux文件操作权限详解

如上图所示,在使用 Linux 命令的时候经常见到红框框出来的内容,但是大都不太了解。

今天遇到一个关于文件权限问题,这里整理一下关于此类的相关内容。

1、三种权限

在 Linux 命令中,chmod 用于修改文件或者目录的权限。对于文件或者目录的普通权限,共有 3 种,分别为:

  • r:表示可读取此文件中的实际内容,例如,可以对文件执行 cat、more、less、head、tail 等文件查看命令
  • w:表示可以编辑、新增或者修改文件中的内容,例如,可以对文件执行 vim、echo 等修改文件数据的命令。
  • x:表示该文件具有被系统执行的权限,比如常用脚本文件 start.sh,想要运行就需要有执行权限。

此外,还有 3 种特殊权限,分别为:

  • suid:Set User ID;
  • sgid:Set Group ID;
  • sticky:粘滞位。

这里只介绍三种普通权限,特殊权限不做介绍(用的比较少)。

2、drwxrwxr-x 的含义

这里就以第一个图来作为示例讲述一下各个字符的含义:

linux文件操作权限详解

ls -l 是用来查看文件及目录相关信息,看一下列出来信息都表示什么:

  • "total 12":表示所列出内容的磁盘占用空间总和值,单位为 KB
  • "drwxrwxr-x":表示文件或目录的类型及权限
  • "4":表示文件或目录的链接个数
  • "ubuntu":表示文件或目录的所有者
  • "ubuntu":表示文件或目录的所在群组;
  • "4096":表示文件或目录本身的大小
  • "Mar 9 19:39":表示文件或目录的最后更新时间;
  • "myblog":目录或文件(该名称是目录,一般文件有后缀)

进入主题,来看一下"drwxrwxr-x"表示的意义:

  • 第一个字符"d":表示文件或目录的类型,其类型包括:
    • p,表示命名管道文件;
    • d,表示目录文件;
    • l,表示符号连接文件;
    • -,表示普通文件;
    • s,表示 Socket 文件;
    • c,表示字符设备文件;
    • b,表示块设备文件。
  • 第 2-4 个字符"rwx":表示文件或目录的所有者权限;
  • 第 5-7 个字符"rwx":表示文件或目录的所有者同组用户权限;
  • 第 8-10 个字符"r-x":表示文件或目录的其他用户权限。

第一个字符中,d(目录)和-(普通文件)用的比较多。

这里说一下文件的颜色,通过图片可以看到有一个蓝色的文件名特别突出:

  • 蓝色:目录
  • 绿色:可执行文件
  • 红色:压缩文件
  • 浅蓝色:链接文件
  • 白色:普通文件
  • 黄色:设备文件

3、文件权限常用命令

下面介绍一下三种常用命令。

(1)chmod 777 /home/myblog

操作文件权限的常用命令为 chmod,chmod 一般用 3 个数字来表达对 用户(文件或目录的所有者),用户组(同组用户),其他用户 的权限:

  • 读取--用数字 4 表示;
  • 写入--用数字 2 表示;
  • 执行--用数字 1 表示;

数字 0 不具有任何权限,按照规则,如你想设置/home/ubuntu/myblog 目录的权限为:

  • 对用户可读可写:4(读取)+ 2(写入)= 6 ;
  • 对用户组可读可执行:4(读取)+ 1(执行)= 5 ;
  • 对其他用户仅可读:4(读取);

这样就可以用命令:

常用的操作命令"chmod 777 /home/ubuntu/myblog",表示所有用户都是可读可写可执行,即

  • 4(读取)+2(写入)+1(执行)=7

(2)chmod -R 777 /home/myblog

加了一个 R 表示递归,表示不仅是 myblog,包括其内部的文件都要递归赋予 777 权限。

(3)chmod ugo +r myblog.txt

这个就比较复杂了,先说一下 ugo 代表的含义:

  • u:当前用户
  • g:表示群组
  • o:表示其他用户
  • a:表示所有用户(相当于 ugo 了)

在说一下+r,这其实是两个字符,一个+,一个 r,先说+表示增加,同类型还有:

  • +:增加权限
  • -:减少权限
  • =:唯一设定权限(除了设定的权限其他都舍去)

而 r 就是读取的含义,上面也介绍了,除了 r,还有 w 和 x。

理解了上面的意思,那么“chmod ugo +r myblog.txt ”就好解释了:表示为所有用户赋予 myblog.txt 读取权限。

其他类似命令还有:

继续阅读
蓝亚之舟
JavaWeb开发

apisix安装详解

1、api网关介绍 api网关现在使用的是一个开源项目(apisix),然后在其上进行的二次开发(修改配置和增加插件),api网关本身相当于是代理服务器,或者说其本质就是一个代理服务器。 apisix...
Linux

linux命令之top详解

1、top命令简介 top命令是linux系统常用命令之一,能够实时显示系统各个进程的资源占用情况,类似于windows系统的任务管理器。 需要注意的是:top命令监控的最小单位是进程,如果想监控更小...
Linux

linux命令之top详解

1、top命令简介 top命令是linux系统常用命令之一,能够实时显示系统各个进程的资源占用情况,类似于windows系统的任务管理器。 需要注意的是:top命令监控的最小单位是进程,如果想监控更小...

发表评论