前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ubuntu系统中的文件权限管理总结

ubuntu系统中的文件权限管理总结

作者头像
知识分子没文化
发布于 2023-07-01 07:12:27
发布于 2023-07-01 07:12:27
1.8K00
代码可运行
举报
文章被收录于专栏:Roookie博客Roookie博客
运行总次数:0
代码可运行

思维导图

注:修改文件权限等操作需要一定系统权限,本文的命令默认是在root用户下进行的,如有必要,请在命令前加入sudo 来提升权限。

1.ubuntu中的文件权限介绍

1.1 用户组

对于一个文件或者文件夹来说,与其相关的用户组分为三类:

  • user:该文件或文件夹的拥有者
  • group:与user在同一个用户组的用户
  • other:除了usergroup的其他所有用户
1.2 文件权限等级

文件权限等级有三种,分别为读、写、执行。有两种表示方法:

  • 用字母表示:
    • 读:r(read)
    • 写:w(write)
    • 执行:x(execute) ——假如这个文件可执行的话
    • 无权限:-(可以理解为占位符)

    这个很好理解,表示形式就是对应英文单词的首字母。假设有文件test.txtuser有这个文件的读、写、执行权限,group有读、写权限,other有执行权限,那么它的文件权限就可以用这种方式表示为:rwxrw- - -x。这串字符分为三部分,分别表示了usergroupother这三类用户的权限情况:

  • 用十进制数字表示:
    • 读:4
    • 写:2
    • 执行:1
    • 无权限:0

    那么问题来了,表示每个权限的数字为什么是”4“、 ”2“、 ”1“,而不是其他数字呢?其实用二进制来解释就很好理解了。在二进制中只有“0”和“1”两种取值,相对应到文件权限上,有权限是“1”,无权限是“0”。假设用户同时具备读、写、执行三种权限,那么按照读、写、执行的顺序排列,可得到一个二进制数“111”,将这个二进制数转换成十进制数就变成了“421”,所以就可以得到每种文件权限对应的十进制数字了,即:读(4)、写(2)、执行(1)。 以上是数字表示单个权限的情况,当数字来表示组合权限时稍显麻烦,但也并不算复杂。举个栗子说明权限表示的规则:还是文件test.txt,三类用户的权限不同,user有这个文件的读(4)、写(2)、执行(1)权限,group有读(4)、执行(1)权限,other只有这个文件的执行(1)权限,用数字来表示就是:“751”。即每位数字是该用户所拥有权限的和,看下图:

综上所述,这两种方法用一个表格总结下来就是这样:

读(read)

写(write)

执行(execute)

字母

r

w

x

十进制数字

4

2

1

2.查看文件权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 查看文件权限,
ls -l [文件名]

# 查看文件夹权限
ls -ld [文件夹名]

比如查看当前目录下的test.txt这个文本文件的权限信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -l test.txt

结果如下,图中红框部分就是文件权限信息:

查看当前目录下的test文件夹的权限信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -ld test

执行结果:

最前面的“d”表示文档类型,即文件夹,其他的还有:

  • -:普通文档
  • l:链接文件(link file);
  • b:装置文件里面的可供储存的接口设备(可随机存取装置);
  • c:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

后面对应的每一位上,有权限就用权限对应字母表示,若没有权限则用”-“来占位。

查看文件权限时,若省略后面的文件名参数,命令结果就会显示当前目录下的所有文件及文件夹的权限等信息。 查看文件夹权限时,省略文件名参数,命令的执行结果会变成显示当前所在的文件夹的权限信息。

基本介绍完了,接下来就是如何修改文件权限。

3.修改文件权限

修改文件的权限用chmod命令,对于一个文件来说,文件权限的表示方法有字母和数字两种,所以修改权限时就可以有两种方法。

3.1 用字母表示权限等级

举几个例子来说明,假设有一个文件“test”:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 增加group用户的可执行权限
chmod g+x test

+”表示在原来的基础上增加权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 删除other用户的可写权限
chmod o-w test

-”表示在原来的基础上删除权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 给user用户给test文件的可写、可读、可执行权限
chmod u=rwx test

=”可以给用户直接赋予多个权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 假设有文件test,给全部用户增加这个文件的可写权限
chmod a+w test

a在这里表示全部用户(user+group+other)

综上来说,这种方式下命令可以简单概括为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod [用户]+/-/=[权限] [文件/文件名]

[用户]u(user)、g(group)、o(other)和a(user+group+other)

[权限]有r(read)、w(write)、x(execute)

3.2 用数字表示权限等级

继续举例子说明:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 修改文件“test1”的权限为user读、写、执行,group可读,other可执行
chmod 741 test1
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 修改文件夹“test2”的权限为user、group、other均可读写可执行
chmod -R 777 test2

-R”参数表示对该文件夹下所有的文件及文件夹都执行修改权限操作,即递归执行,一般适用于文件夹操作。

所以这个方式简单概括就是这样的命令形式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod [参数选项] [权限] [文件/文件夹]

这里要强调的是,在正式使用的服务器上,请不要给任何一个文件赋予777权限,即任何用户均可读写可执行的权限,会存在较大的安全隐患。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 思维导图
    • 1.ubuntu中的文件权限介绍
    • 2.查看文件权限
    • 3.修改文件权限
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档