Linux中的chmod命令及示例介绍

在类似Unix的操作系统中,
chmod
命令用于更改文件的访问模式。
该名称是的缩写
变更模式
.
句法 :

chmod [reference][operator][mode] file...

这些引用用于区分要对其应用权限的用户, 即它们是指定要授予权限的用户的字母列表。参考由以下一个或多个字母表示:
ReferenceClassDescriptionuownerfile's ownerggroupusers who are members ofthe file's groupoothersusers who are neither thefile's owner nor members of the file's groupaallAll three of the above, same as ugo

运算符用于指定应如何调整文件的模式。接受以下运算符:
OperatorDescription+Adds the specified modes to thespecified classes-Removes the specified modes from the specified classes=The modes specified are to be madethe exact modes for the specified classes

注意 :在运算符周围放置空格将使命令失败。
这些模式指示要从指定的类授予或删除哪些权限。有三种与基本权限相对应的基本模式:
rPermission to read the file.wPermission to write (or delete) the file.xPermission to execute the file, or, inthe case of a directory, search it.

我们将使用chmod命令更改的权限类型:
在linux终端中, 要查看对不同文件的所有权限, 请键入ls -l命令, 该命令以长格式列出工作目录中的文件。下图显示了使用ls -l及其输出的示例:
Linux中的chmod命令及示例介绍

文章图片
让我们来看看上图。为了使事情易于理解, 消除了一些列和行, 并在权限列中添加了多余的空格, 以使其更易于阅读, 如下所示:
- rw- rw- r--mikmikassgn1_client.c- rw- rw- r--mikmikassgn1_server.cd rwx rwx r-xmikmikEXAM- rw- rw- r--mikmikraw.c- rwx r-x r-xmikmikheader.sh... so on...

  • 第一列代表文件的类型, 即是普通文件还是
    directory其中d代表目录, 而–代表普通文件。
  • 文件类型后的前三个字母告诉文件所有者, 拥有权限。例如:在assgn1_client.c中, 拥有者的权限为rw-, 这意味着拥有者mik只能读取(r)和写入(w)该文件, 而不能执行(x)。
  • 注意:第3列和第4列分别代表文件所有者的名称和所有者所属的组。
  • 用户权限后的后三个字母是该组的权限。
    例如:header.sh具有组权限r-x, 这意味着mik组中的其他人不能写(w)header.sh脚本, 而只能读(r)或execute(x)它。
  • 请注意, 当目录设置了x时, 这具有"允许搜索此目录"的特殊含义。
  • 权限列中的最后三个字母告诉我们"其他"可能做什么。通常的做法是保护文件免受外部访问, 以使其他人无法写入任何文件或目录。他们可以读取或执行它。例如:assgn1_client.c具有r-的其他权限-这意味着它只能由其他(外部)访问读取, 但不能被他们写入或执行。
现在, 让我们看看如何使用chmod命令更改文件的访问模式。
范例1:
【Linux中的chmod命令及示例介绍】让我们更改assgn1_client.c权限, 以使所有者无法在文件中写入(w), 而只能读取文件。
BEFORE: -rw-rw-r--mikmikassgn1_client.cCOMMAND: chmod u=r assgn1_client.cAFTER: -r--rw-r--mikmikassgn1_client.c

之前:
Linux中的chmod命令及示例介绍

文章图片
之后:
Linux中的chmod命令及示例介绍

文章图片
范例2:
让我们限制权限, 以使用户无法搜索目录EXAM。
BEFORE: drwxrwxr-xmikmikEXAMCOMMAND: chmod u=rw EXAMAFTER: drw-rwxr-xmikmikEXAM

应用chmod u = rw EXAM命令后, 用户(所有者)无法更改目录。如果用户尝试更改目录, 则会显示"权限被拒绝"消息, 如下图所示:
Linux中的chmod命令及示例介绍

文章图片
参考:
chmod维基百科

    推荐阅读