linux文件权限

1. 常用权限

  • 444 r–r–r– : 所有用户都只有读权限
  • 600 rw——- : 文件所有者具有读、写权限,其他用户没有权限
  • 644 rw-r–r– : 文件所有者具有读写权限,同组用户具有读权限,其他用户具有读权限
  • 666 rw-rw-rw- :文件所有者,同组用户,其他用户都具有读写权限,没有执行权限
  • 700 rwx—— : 文件所有者具有读写执行权限,同组用户其他用户均没有任何权限
  • 744 rwxr–r– : 文件所有者具有读写执行权限,同组用户和其他用户只有读权限
  • 755 rwxr-xr-x : 文件所有者具有读、写、执行权限,同组用户和其他用户具有读、执行权限
  • 777 rwxrwxrwx : 全部用户都用全权限

2. 权限解释

从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限

具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示。

通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)。

以755为例:
1-3位7等于4+2+1,rwx,所有者具有读取、写入、执行权限;
4-6位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限;
7-9位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限。

3. 语法示例

将文件 file1.txt 设为所有人皆可读取 :

1
2
3
chmod ugo+r file1.txt
或者
chmod a+r file1.txt
  • u 表示该文件的拥有者(User),g 表示与该文件的拥有者属于同一个群体(Group)者,o 表示其他以外的人(Other),a 表示这三者皆是。
  • +表示增加权限、- 表示取消权限、= 表示唯一设定权限。