Linux文件权限


Linux文件权限

#📚/操作系统/Linux服务器/Linux文件权限

目录权限:

  • R(Read):允许读取目录内容,即列出目录中的文件和子目录。
  • W(Write):允许在目录中创建、删除文件或子目录。
  • X(Execute):允许进入目录,即可以通过cd命令切换到该目录。

对于每个权限,如果有相应的权限则用大写字母表示,如果没有则用 - 表示。

文件权限:

  • R(Read):允许读取文件内容。
  • W(Write):允许修改文件内容。
  • X(Execute):对于可执行文件,允许执行。

同样,对于每个权限,如果有相应的权限则用大写字母表示,如果没有则用 - 表示。

所有者(Owner)权限表示:

  • u:文件的所有者。
  • g:文件的所属组。
  • o:其他人,即除了所有者和所属组之外的用户。
  • a:所有人,包括所有者、所属组和其他人。

这些权限可以组合在一起,例如:

  • u+rwx 表示文件所有者具有读、写、执行权限。
  • go-rw 表示所属组和其他人没有读和写的权限。
  • a+x 表示所有人有执行权限。

总的来说,这些权限设置允许你对文件和目录进行细粒度的控制,确保只有授权的用户能够进行相应的操作。

文字设定法解析

在Linux系统中,文字设定法是一种用字母来表示文件权限的方式,包含三种符号:+、=和-,它们的作用如下:

  • + 符号: 表示赋予权限,即在原权限的基础上增加一些权限。例如,执行 chmod u+x filename 可以给文件的所有者增加执行权限。

  • = 符号: 表示覆盖权限,即用指定的权限替换原权限。例如,执行 chmod u=r filename 可以给文件的所有者只保留读权限。

  • - 符号: 表示减去权限,即在原权限的基础上去掉一些权限。例如,执行 chmod u-w filename 可以给文件的所有者去掉写权限。

数字设定法

数字设定法用于通过数字表示权限。每个权限对应一个数值,然后将这些数值相加来设置权限。这通常用于简化权限设置。

  • 0 表示没有权限。
  • 1 表示执行权限(X,可执行文件)。
  • 2 表示修改权限(W)。
  • 4 表示读文件权限(R)。

在权限设置中,将这些数字进行组合,以表示不同用户的权限。通常使用三个数字,分别表示用户(u)、所属组(g)、和其他人(o)的权限。

chmod n1 n2 n3 文件名称

其中,n1 表示文件所有者的权限,n2 表示文件所属组的权限,n3 表示其他人的权限。这三个数字分别是上述权限对应的数值之和。

例如,如果想让文件所有者有读、写和执行权限(4+2+1=7),所属组有读和执行权限(4+1=5),其他人没有权限(0),可以使用:

chmod 750 文件名称

这样就设置了相应的文件权限。
特殊权限

特殊权限

特殊权限是 Linux 系统中的一种高级权限,它可以让普通用户在执行某些程序时,以程序的所有者或所属组的身份来执行,从而获得更高的权限。特殊权限有三种,分别是 SUID、SGID 和 SBIT。下面我会分别介绍它们的作用和设置方法。

[[SUID]]

SUID (Set User ID)

  • 作用: 让用户在执行某程序时暂时获得程序所有者的权限。

  • 设置方法:

    • 数字表示:chmod 4xxx 文件名
    • 符号表示:chmod u+s 文件名

[[SGID(Set Group ID)]]

  • 作用:

    • 对二进制程序有效:执行者暂时获得程序所属组的权限。
    • 对目录有效:新文件或目录的所属组为该目录的所属组。
  • 设置方法:

    • 数字表示:chmod 2xxx 文件名(文件),chmod 2xxx 目录名(目录)
    • 符号表示:chmod g+s 文件名(文件),chmod g+s 目录名(目录)

[[SBIT (Sticky Bit)]]

  • 作用: 防止非文件所有者删除目录下的文件。

  • 设置方法:

    • 数字表示:chmod 1xxx 目录名
    • 符号表示:chmod o+t 目录名

chgrp 用户名文件名

chgrp 命令,它用于将文件或目录的所属组更改为指定的用户名。以下是对该命令及其选项的解释:

chgrp 命令

chgrp 用户名 文件名
  • 作用: 将文件或目录的所属组更改为指定的用户名。

  • 示例: 如果要将文件 test.txt 的所属组更改为 linuxcool,可以执行 chgrp linuxcool test.txt

选项

  • -c 或 --changes: 只显示更改了所属组的文件或目录的信息。

  • -f 或 --quiet 或 --silent: 不显示错误信息。

  • -h 或 --no-dereference: 只修改符号链接本身的所属组,而不修改它所指向的文件或目录的所属组。

  • -R 或 --recursive: 递归地修改指定目录及其所有子目录和文件的所属组。

  • -v 或 --verbose: 显示详细的执行过程信息。

  • –help: 显示帮助信息。

  • –version: 显示版本信息。

  • –reference=<参考文件或目录>: 使用参考文件或目录的所属组作为修改的依据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值