Linux 文件权限管理相关概念速记

一. 为什么引入用户权限

Linux 系统为 “多人多任务环境”。引入文件权限管理使得文件的保密性能更佳。

二. 引入使用者和群组的概念

在现实世界中,可以简单地把人分成三类:你自己,你认识的,你不认识的。自己称为 “ user ”,你认识的人按圈子分类便成为 “ group ”,你不认识的便称为其他人 “ others ”。

另外,Linux 中存在 “神”,称为 root,root 是万能的,可以任意分配文件权限。

引入使用者的概念后,多人多任务变得极其方便。

三. 权限的种类

权限有 rwx 三种。

  • 对于文件来说,r 是可读取文件内容,w 是可向文件写入内容,x 是文件可被执行
  • 对于目录来说,r 是可读取目录下文件,w 是能对目录下文件进行操作(新建,删除,移动,重命名等),x 是可进入该目录

Tips:用户对文件没有任何权限,但对该目录有权限的话,可以删除目录下的文件。

四. 文件权限

使用 ls -al 查看文件或目录权限,假设显示如下

-rwxr-x--- 1 ming minghome 文件大小 修改日期 文件名

其中 -rwxr-x--- 为文件权限,后面的数字为 链接,此处不做重点。后面跟的两个英文单词第一个文件所有者第二个是所属群组。最后是文件大小(KB),修改日期,文件名。

-rwxr-x--- 进行研究,将其分为四组:

  • 第一个字符 -。此处-指文件,其他常见的有
    • d 指目录。最后的名字为目录名
    • l 类似 windows 下的快捷方式
    • b 外置储存装置
    • c 串行端口设备,如鼠标键盘
  • 此后连续三个字符rwx分为一组。其代表 user 的权限,则该位置的 rwx 代表文件所有者 ming 有读写执行该文件的权限。
  • 再此后连续三个字符r-x分为一组。其代表文件所属 group 的权限,-出现在 w 的位置上说明没有 w 的权限。则该串字符代表文件所属群组 minghome 内所有成员有读取内容和执行的权限。
  • 最后三个字符---分为一组。其代表 others 的权限。-出现在 rwx 的位置上,说明没有 rwx 的权限。则该串字符代表其他人对此文件没有读取修改执行的权限。

五. 修改所有者和权限

  • 修改所有者和群组: chown new_user:new_group filename
  • 修改权限 chmod 763 filename

Tips:

  1. 若想对整个文件夹下所有文件进行修改,可以添加递归命令 -R

  2. 数字 763 的含义:定义 r 为 4, w 为 2, x 为 1,

    • 数字第一位 7 代表 user 的权限,7 = 4 + 2 + 1,意思为修改 user 权限为 rwx
    • 数字第二位 6 代表 group 的权限,6 = 4 + 2,意思为修改 group 权限为 rw-
    • 数字第三位 3 代表 others 的权限,3 = 2 + 1,意思为修改 others 权限为 -wx

Example:

问:chmod -R 777 test 的含义?
答:将文件夹test下所有文件的权限修改为 rwx

六. 其他

折腾 VPS 的时候经常遇到 permission denied 的问题,每次都要从为知笔记找命令来修改权限。太烦啦,于是下定决心把这里搞明白。本文做《鸟哥的 Linux 的私房菜基础学习篇·第三版》第六章的笔记。

相关推荐