首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux之chmod命令

Linux之chmod命令

原创
作者头像
入门笔记
发布2022-01-07 11:47:01
3.4K0
发布2022-01-07 11:47:01
举报
文章被收录于专栏:入门小站入门小站

chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。

有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。

clipboard.png
clipboard.png

命令格式

> chmod [-cfvR] [--help] [--version] mode file...

mode参数

[ugoa...][[+-=][rwxX]...][,...]或者数字权限777,755

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
  • +表示增加权限、-表示取消权限、=表示唯一设定权限。
  • r 表示可读取,w表示可写入,x表示可执行,X表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

常用参数

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
  • --help : 显示辅助说明
  • --version : 显示版本

符号模式

chmod who operator permission filechmod u+x rumenz.txt

who(用户类型)

who

用户类型

说明

u

user

文件所有者

g

group

文件所有者所在组

o

others

所有其他用户

a

all

所用用户, 相当于 ugo

operator(符号模式表)

Operator

说明

+

为指定的用户类型增加权限

-

去除指定用户类型的权限

=

设置指定用户权限的设置,即将用户类型的所有权限重新设置

permission(权限)

模式

名字

说明

r

设置为可读权限

w

设置为可写权限

x

执行权限

设置为可执行权限

X

特殊执行权限

只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行

s

setuid/gid

当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限

t

粘贴位

设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

数字权限(八进制)

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

#

权限

rwx

二进制

7

读+写+执行

rwx

111

6

读+写

rw-

110

5

读+执行

r-x

101

4

只读

r--

100

3

写+执行

-wx

011

2

只写

-w-

010

1

只执行

--x

001

0

---

000

常见的数字权限

  • 400 -r-------- 拥有者能够读,其他任何人不能进行任何操作;
  • 644 -rw-r--r-- 拥有者都能够读,但只有拥有者可以编辑;
  • 660 -rw-rw---- 拥有者和组用户都可读和写,其他人不能进行任何操作;
  • 664 -rw-rw-r-- 所有人都可读,但只有拥有者和组用户可编辑;
  • 700 -rwx------ 拥有者能够读、写和执行,其他用户不能任何操作;
  • 744 -rwxr--r-- 所有人都能读,但只有拥有者才能编辑和执行;
  • 755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者才能编辑;
  • 777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。

chmod实例

命令

说明

chmod a+r file

给file的所有用户增加读权限

chmod a-x file

删除file的所有用户的执行权限

chmod a+rw file

给file的所有用户增加读写权限

chmod +rwx file

给file的所有用户增加读写执行权限

chmod u=rw,go= file

对file的所有者设置读写权限,清空该用户组和其他用户对file的所有权限(空格代表无权限)

chmod -R u+r,go-r docs

对目录docs和其子目录层次结构中的所有文件给用户增加读权限,而对用户组和其他用户删除读权限

chmod 664 file

对file的所有者和用户组设置读写权限,为其其他用户设置读权限

chmod 0755 file

相当于u=rwx(4+2+1),go=rx(4+1&4+1)。0没有特殊模式。

chmod 4755 file

4设置了设置用户ID位,剩下的相当于u=rwx(4+2+1),go=rx(4+1&4+1)。

find path/ -type d -exec chmod a-x {} \;

删除可执行权限对path/以及其所有的目录(不包括文件)的所有用户,使用'-type f'匹配文件

find path/ -type d -exec chmod a+x {} \;

允许所有用户浏览或通过目录path/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 命令格式
  • mode参数
  • 常用参数
  • 符号模式
    • who(用户类型)
      • operator(符号模式表)
        • permission(权限)
        • 数字权限(八进制)
        • 常见的数字权限
        • chmod实例
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档