Skip to content

Linux 的文件权限

Linux 操作系统中对权限的管理很严格。Linux 系统中不仅是对用户与组根据 UID,GID 进行了管理,还对 Linux 系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式和目录进行访问和操作。

权限共有 10 个字符,我们将它分为 4 大部分来理解:

表示文件的类型

-表示是一个文件
d表示是一个目录
l表示是一个连接(理解为快捷方式)

用户组类型

缩写用户组类型
uowner属主 :当前用户具有的对该文件的权限
ggroup当前组内其他用户具有对该文件的权限
oother其他组的用户具有的对该文件的权限

权限

  • rRead
  • wWrite
  • xexecute 执行

针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)

针对文件和目录来说,r,w,x 有着不同的作用和含义

命令针对文件针对目录
r读取文件内容查看目录下的文件列表
w修改文件内容删除和创建目录下的文件
x执行权限对除二进制程序以外的文件没什么意义可以 cd 进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

提示

root 账户不受文件权限的读写限制,执行权限受限制

权限项文件类型执行执行
字符表示(d|l|c|s|p)(r)(w)(x)(r)(w)(x)(r)(w)
数字表示42142142
权限分配文件所有者文件所属组用户其他用户

用户获取文件权限的顺序:先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

修改文件权限

chownchange owner 的意思,主要作用就是改变文件或者目录所有者。

chmod修改文件和文件夹读写执行属性。使用权限:所有使用者
chown修改文件和文件夹的用户和用户组属性。使用权限:root

mode 方式

bash
chmod who opt per file
who u g o a(all) (u 用户 userg 用户组 groupo 其他用户a 所有用户默认)
opt+ 添加某个权限 - 取消某个权限 = 赋予权限
perr w x X

示例:

bash
chmod u=rwx,g=r a.txt
chmod u+x,g+w,o+w test.log #r 读,w 写, x 执行

数字方式

语法:chmod xxx file

rwx4217
rw-4206
r--4004
  • 0 表示无权限,
  • 1 表示可执行 x
  • 2 表示写入权限 w
  • 4 表示可读权限 r

例如:

bash
-rwxr--r-- 1 root root 10 oct 16 02:55 yhp.log
权限参数参数参数
用户权限rwx4+2+17
所属组权限r--4+0+04
其他用户权限r--4+0+04

组合:744

修改权限:

  • 都加入写入权限 +2
  • 给用户组加入写入权限:+2
  • 给其他用户加入可执行权限:+1

组合:765

bash
chmod 765 a.txt