旧游无处不堪寻
无寻处,惟有少年心
Linux(四)

滚滚长江东逝水,浪花淘尽英雄,是非成败转头空,青山依旧在,几度夕阳红。
白发渔樵江渚上,惯看秋月春风,一壶浊酒喜相逢,古今多少事,都付笑谈中。

— 杨慎《临江仙》

本篇,我们在来说一下在 Linux 下,有关权限的相关知识。

Linux 下的权限


权限设置的目的: 是想让某个用户由权利操作某文件。
注意: 权限是设置在文件上的,而不是用户。

普通权限


rwx

  1. 读权限 r(数值: 4)
  • 针对目录: 一个目录拥有 r 权限,说明可以查看该目录的内容(ls)
  • 针对文件: 一个文件拥有 r 权限,说明可以查看该文件的内容(cat/less/more/tail/head)
  1. 写权限 w(数值: 2)
  • 针对目录: 一个目录拥有 w 权限,说明可以在该目录内执行 mkdir,touch,mv,rm 等操作
  • 针对文件: 一个文件拥有 w 权限,说明可以修改该文件的内容
  1. 执行权限 x(数值: 1)
  • 针对目录: 一个目录拥有 x 权限,说明可以进入该目录(cd)
  • 针对文件: 一个文件拥有 x 权限,说明可以执行该文件,一般是程序文件或脚本文件
  1. 没有权限 -(数值: 0)

UGO

UGO 指用户身份,每个字母代表不同身份。

  1. U: 文件拥有者
  2. G: 文件所属组的其他用户
  3. O: 其他用户

权限及用户总共 9 位表示,3 格一组进行分割,用户依次为 UGO,权限依次为 rwx,第一位位文件类型,如下:

-rw-r--r--    1 1ess  staff     271  8 10 10:33 .vimrc
-rw-r--r-- 1 1ess staff 3601 8 21 16:00 .zshrc

修改文件普通权限(chmod)

格式:

chmod [选项] [模式] [文件名]

常见选项:

  • R: 递归修改权限

字母形式修改权限

chmod u+x,g+w,o-r ./*

数字形式修改权限

chmod 760 ./*

修改文件属主和属组(chown)

格式:

# 只修改属主
chown [用户名] [文件名]

# 只修改属组
chown .[组名] [文件名]

# 同时修改属主属组
chown [用户名].[组名] [文件名]

常见选项:

  • R: 递归修改属主和属组