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 的含义

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kDdtZ9O7-1616220687043)(\linux文件操作\开篇引题.png)]

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 654 /home/ubuntu/myblog

常用的操作命令"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 读取权限。

其他类似命令还有:

# 为当前用户增加读取权限
chmod u +r myblog.txt

# 为群组用户消除写入权限
chmod g -w myblog.txt
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值