许多人对于 chmod 的八进制权限的工作原理并不完全知晓。只是单纯背下 777,644,000 所代表的含义。

实际上,这些权限数字是有逻辑可循的。

Linux logo

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由 9 个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。

写入、读取和执行权限具有以下数字值:

  • r (读) = 4
  • w (写) = 2
  • x (可执行) = 1

从 0 - 7 的数字代表以下含义:

  • 0(0+0+0)-没有权限。
  • 1(0+0+1)-仅执行权限。
  • 2(0+2+0)-仅写入权限。
  • 3(0+2+1)-写入和执行权限。
  • 4(4+0+0)-只读权限。
  • 5(4+0+1)-读取和执行权限。
  • 6(4+2+0)-读写权限。
  • 7(4+2+1)-读取、写入和执行权限。

你学废了吗?

 


花朵艳丽终散落,谁人世间能长久?