TypechoJoeTheme

Roookie博客 | 记录 · 收纳 · 分享

统计
登录
用户名
密码

知识分子没文化

没有人永远躲在童年捉迷藏,每个人都被扔进生活的斗兽场

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

2021-03-12
/
0 评论
/
246 阅读
/
正在检测是否收录...
03/12

目录:

思维导图

注:修改文件权限等操作需要一定系统权限,本文的命令默认是在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 e
十进制数字 4 2 1

2.查看文件权限

# 查看文件权限,
ls -l [文件名]

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

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

ls -l test.txt

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

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

ls -ld test

执行结果:

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

  • -:普通文档

  • l:链接文件(link file);

  • b:装置文件里面的可供储存的接口设备(可随机存取装置);

  • c:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

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

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

查看文件夹权限时,省略文件名参数,命令的执行结果会变成显示当前所在的文件夹的权限信息。

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

3.修改文件权限

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

3.1 用字母表示权限等级

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

# 增加group用户的可执行权限
chmod g+x test

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

# 删除other用户的可写权限
chmod o-w test

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

# 给user用户给test文件的可写、可读、可执行权限
chmod u=rwx test

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

# 假设有文件test,给全部用户增加这个文件的可写权限
chmod a+w test

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

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

chmod [用户]+/-/=[权限] [文件/文件名]

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

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

3.2 用数字表示权限等级

继续举例子说明:

# 修改文件“test1”的权限为user读、写、执行,group可读,other可执行
chmod 741 test1
# 修改文件夹“test2”的权限为user、group、other均可读写可执行
chmod -R 777 test2

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

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

chmod [参数选项] [权限] [文件/文件夹]

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

Linuxubuntu
朗读
赞 · 0
版权属于:

Roookie博客 | 记录 · 收纳 · 分享

本文链接:

https://www.langp.wang/archives/142/(转载时请注明本文出处及文章链接)

评论 (0)
知识分子没文化
咸鱼不动一动,怎么知道会不会翻到另一个锅里呢
53 文章数
6 评论量

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

标签云