Shell 文件权限的查看与修改

关键词:Linux,Shell,文件权限,chmod

权限查询

查看当前目录下所有文件信息:

ls -la

输出结果示例:

-rw-r--r--@  1 hans  staff  1665  1  5 14:35 CocoaPods环境配置.sh

文件标识位:

  • d :文件夹
  • - :文件

权限标识位:

每组权限有3个权限位,顺序为执行,分别用rwx表示,当相应位置为-时,表示没有相应的权限。

以上示例中的权限表示:

  • 文件标识-:这是一个文件
  • 当前用户的权限rw-:可读、可写、不可执行
  • 同组用户的权限r--:可读、不可写、不可执行
  • 其他用户的权限r--:可读、不可写、不可执行

修改权限

命令:

chmod [who][+|-|=][mode] 文件名

who的选项:

  • u 表示文件的所有者。
  • g 表示与文件所有者同组的用户。
  • o 表示“其他用户”。
  • a 表示“所有用户”。

操作符的选项:

  • + 添加某个权限
  • - 取消某个权限
  • = 赋予给定的权限

model的选项:

  • r 可读
  • w 可写
  • x 可执行

示例

  • 当前用户添加可执行权限:
chmod u+x CocoaPods环境配置.sh

权限修改后:

-rwxr--r--@  1 hans  staff  1665  1  5 14:35 CocoaPods环境配置.sh
  • 所有用户添加可执行权限:
chmod a+x CocoaPods环境配置.sh 

权限修改后:

-rwxr-xr-x@  1 hans  staff  1665  1  5 14:35 CocoaPods环境配置.sh

权限的数字表示

rwx权限可分别用数字421表示。

没有相应权限时-,该位置表示0

每组权限可以用3个权限位的和表示,如:

  • rwx用数字表示为4+2+1=7
  • rw-用数字表示为4+2+0=6
  • r--用数字表示为4+0+0=4
  • r-x用数字表示为4+0+1=5

示例

如需要设置的权限为:

  • 当前用户可读可写可执行,即rwx,即7
  • 同组用户可读可写不可执行,即rw-,即6
  • 其他用户可读不可写不可执行,即r--,即4

执行命令:

chmod 764 CocoaPods环境配置.sh

权限修改后:

-rwxrw-r--@  1 hans  staff  1665  1  5 14:35 CocoaPods环境配置.sh