1、chmod

命令

chmod

英文原意

change the permissions mode of a file

所在路径

/bin/chmod

执行权限

所有用户

功能描述

改变文件或目录权限

语法

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

常用选项

-R(Recursive):递归修改目录及其子目录中的文件权限

模式

符号模式:由用户类别(u g o a)、操作符(+ - =)、权限(r w x)组成;数字模式:由三个数字组成,每个数字代表文件所有者、所属组和其他用户的权限

范例

chmod u=r,g=w,o=x file.txt,也可以写成chmod 421 file.txt

注:
1、用户类别主要是:

  • u(user):所有者;
  • g(group):所属组;
  • o(others):其他人;
  • a(all):所有用户;

2、操作符包括 +、- 和 =,分别表示添加、删除和设置权限。
3、权限包括 r、w 和 x,分别表示读、写和执行权限。
4、数字模式中,每个数字的取值为 0-7,分别表示无权限、执行权限、写权限、写和执行权限、读权限、读和执行权限、读和写权限、读、写和执行权限。

关于权限:

权限

对文件

对目录

r(读权限)

可以查看文件内容,如:cat/more/head/tail/less

可以列出目录中的内容,如:ls

w(写权限)

可以修改文件内容,如:vim

可以在目录中创建、删除文件,如:touch/mkdir/rmdir/rm

x(执行权限)

可执行文件,如:可执行程序或脚本文件

可以进入目录,如:cd

只要对目录有w权限,就可以删除该目录下的所有文件或目录,无论该文件或目录有何权限。

2、chown

命令

chown

英文原意

change file ownership

所在路径

/bin/chown

执行权限

所有用户

功能描述

改变文件或目录的所有者

语法

chown [选项] [用户]:[所属组] [文件名] (所属组可省略)

常用选项

-R(Recursive):递归修改目录及其子目录中的文件所有者和所属组

范例

chown user1:group1 file.txt

3、chgrp

命令

chgrp

英文原意

change file group ownership

所在路径

/bin/chgrp

执行权限

所有用户

功能描述

改变文件或目录的所属组

语法

chgrp [选项] [组名] [文件名]

常用选项

-R(Recursive):递归修改目录及其子目录中的文件所属组

范例

chgrp group1 file.txt

4、umask

命令

umask

英文原意

the user file-creation mask

所在路径

Shell内置命令

执行权限

所有用户

功能描述

显示、设置文件的缺省权限

语法

umask [选项] [模式]

常用选项

-S(Symbolic):将当前 umask 值转换为符号模式

模式

模式是一个三位数字,表示文件和目录的默认权限掩码。每一位都是一个数字,分别代表文件所有者、所属组和其他用户的权限。

范例

umask -S

常见的 umask 值如下:

  • 022:默认权限掩码,新创建的文件权限为 -rw-r–r–,新创建的目录权限为 drwxr-xr-x。
  • 002:新创建的文件和目录的权限会给组成员写入权限。
  • 077:新创建的文件和目录的权限只有所有者有读写执行的权限。

注:Linux 中默认情况下是禁止新创建的文件拥有可执行权限 x 的。但这并不意味着所有情况下都不允许文件具有可执行权限,用户可以根据需要使用 chmod 命令修改文件的权限掩码,以控制文件是否可以执行。