chmod 755 究竟是什么鬼?

简介: 有个校招的同事问我:(1) 使用ls –l查看文件,前面显示的-rwxrwxr-x是什么意思?(2) chmod 755 xxx.sh又是什么意思?1分钟简单说下,这两个和权限相关的问题。

有个校招的同事问我:

(1) 使用ls –l查看文件,前面显示的-rwxrwxr-x是什么意思?

(2) chmod 755 xxx.sh又是什么意思?

1分钟简单说下,这两个和权限相关的问题。

先说下文件类型,访问方式,权限分类。

Linux下,分为这么几种文件类型:

d:目录directory

l:符号链接link

s:套接字socket

c:字符设备char

p:命名管道pipe

-:其他,不属于以上几类

文件创建后,有三种访问方式:

读(read):显示内容

写(write):编辑内容,删除文件

执行(execute):执行文件

针对用户,文件有三类权限:

创建人(user)权限:创建文件的人

组(group)用户权限:和拥有者处于同一用户组的其他人

其他(other)用户权限

了解了文件类型,访问方式,三类权限之后,第一个问题就比较好解答了。

image.png

例如,上述a.out的第一列

-rwxrwxr-x

共有十个字符,分为四个部分:

  • 第1个字符表示文件的类型:[-]表示普通文件
  • 第234字符表示创建人的权限:[wxr]表示可读,可写,可执行
  • 第567字符表示组用户权限:[wxr]表示可读,可写,可执行
  • 第890字符表示其他用户权限:[r-x]表示可读,可执行

如何改变文件的权限呢?

chmod命令用于改变文件的权限,它有两种使用方法。

第一种:chomod [who] [operator] [permission] filename

[who]

u:创建人

g:组用户

o:其他用户

a:所有用户(all)

[operator]

+:增加权限

-:取消权限

=:设定权限

[permission]

r:读

w:写

x:执行

如何给一个文本文件xxx.sh增加可执行权限?

chmod u+x xxx.sh

如何不让其他用户修改xxx.sh?

chmod go-w xxx.sh

第二种方法:chmod [mode] filename

[mode]是一个3位八进制数:

  • 第一位表示创建者权限
  • 第二位表示组用户权限
  • 第三位表示其他用户权限

更具体的:

400:创建者可读

200:创建者可写

100:创建者可执行

040:组用户可读

020:组用户可写

010:组用户可执行

004:其他用户可读

002:其他用户可写

001:其他用户可执行

3位对应位的对应数字加起来,最终就是三类用户的最终权限。

如何回收非创建者用户对xxx.sh的所有权限?

chmod 700 xxx.sh

第一位7:4+2+1,创建者,可读可写可执行

第二位0:组用户,无权限

第三位0:其他用户,无权限

xxx.sh只允许创建者修改,允许其他用户读取和执行,怎么设置?

chmod 755 xxx.sh

第一位7:4+2+1,创建者,可读可写可执行

第二位5:4+1,组用户,可读可执行

第三位5:4+1,其他用户,可读可执行

画外音:一般来说,写了一个工具,只允许自己修改,不允许别人修改,但允许别人使用,这就是755。

-rwxrwxr-x

chmod 755

有意思么?

image.png
架构师之路-分享可落地的架构文章

目录
相关文章
5G 物理资源 |带你读《5G空口特性与关键技术》之八
基站信道带宽是指基站侧上下行所支持的单个 NR 射频载波。同一频段下,支持不同的 UE 信道带宽。在基站信道带宽范围内,UE 信道带宽可以灵活配置。UE 的 BWP 的信号等于或者小于 RF 载波的载波资源块数时,基站就能够在任何载波资源块上收发 UE 的 1 个或者多个 BWP 的信号。
5G 物理资源  |带你读《5G空口特性与关键技术》之八
|
SQL 存储 关系型数据库
mysql事务失效
mysql事务失效
702 0
|
编译器 C语言
命令行参数(C语言)
命令行参数(C语言)
|
网络协议 数据安全/隐私保护 网络架构
OSI七层模型及对应协议
OSI七个层次的功能 物理层 为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。
1369 0
|
9天前
|
云安全 监控 安全
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1566 8
|
8天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
517 15