chmod:修改目录权限
侧边栏壁纸
  • 累计撰写 64 篇文章
  • 累计收到 1 条评论

chmod:修改目录权限

soulio
2024-09-12 / 0 评论 / 6 阅读 / 正在检测是否收录...

一、chmod 简介

chmod​ 命令是 Linux 系统中一个非常重要的命令,允许用户精确控制文件和目录的访问权限,保护系统安全和数据机密性。

二、chmod 基本语法

chmod [选项] mode file
  • mode​:权限模式,用数字或符号表示。
  • file​:要改变权限的文件或目录。

数字模式:rwx 分别对应数字 421

  • 7 表示 rwx。
  • 777 表示 rwxrwxrwx,也就是所有人可读、可写、可执行。

符号模式:

  • u​:所有者(user)。
  • g​:所属组(group)。
  • o​:其他用户(others)。
  • a​:所有用户(all)。
  • +​:添加权限。
  • -​:移除权限。
  • =​:设置权限。

一些常用的 chmod​ 命令选项包括:

  • -R:递归地更改文件或目录的权限。
  • --reference=referencefile:根据 referencefile​ 的权限来设置指定文件的权限。

三、chmod 用法示例

示例 1. 给文件所有者增加执行权限

chmod u+x file.txt

示例 2. 给文件所属组增加写权限

chmod g+w file.txt

示例 3. 移除其他用户的读权限

chmod o-r file.txt

示例 4. 给所有用户设置读权限

chmod a+r file.txt

示例 5

设置文件权限为只有所有者有读、写、执行权限

chmod 700 file.txt

示例 6

设置文件权限为所有者有读、写、执行权限,所属组和其他用户有读和执行权限

chmod 755 file.txt

示例 7

设置文件权限为所有者有读、写权限,所属组和其他用户没有任何权限

chmod 640 file.txt

示例 8

设置目录权限,使得所有者有完全权限,所属组和其他用户只能进入目录(不能列出目录内容或创建文件)

chmod 711 directory

四、chmod 修改文件的特殊权限

文件权限

查看文件权限

soulio@ubuntu:~/实验/chmod$ ls -l
total 8
-rwsrwSr-T 1 soulio soulio   29 Sep 12 05:41 hello.sh*
drwxrwxr-x 2 soulio soulio 4096 Sep 12 05:48 文件夹/

权限标志位:

  • 第 1 位是文件类型:l 表示链接,d 表示文件,-表示普通文件。
  • 第 234 位:表示属主的读、写、执行权限。
  • 第 456 位:表示属组的读、写、执行权限。
  • 第 789 位:表示 other 的读、写、执行权限。

普通权限的标志:

  • r 可读
  • w 可写
  • x 可执行

特殊权限的标志:例如 passwd 程序

-rwsr-xr-x 1 root root 59976 Feb  6  2024 /bin/passwd*

了解特殊权限

  1. Setuid (SUID) :


    • 概念:SUID 允许用户以文件所有者的权限执行文件。
    • 标志:所有者执行位显示为 s​(有执行权限)或 S​(无执行权限)。
    • 用途:用于允许普通用户执行需要超级用户权限的操作,如 passwd ​命令。
  2. Setgid (SGID) :


    • 概念:SGID 让执行者获得文件所属组的权限,或目录内新文件继承目录组所有权。
    • 标志:所属组执行位显示为 s​(有执行权限)或 S​(无执行权限)。
    • 用途:在可执行文件上,用于共享程序;在目录上,用于确保新文件属于目录的组,便于组内共享。
  3. Sticky Bit:


    • 概念:Sticky Bit 限制用户删除或重命名非自有文件,通常用于公共目录。
    • 标志:其他用户执行位显示为 t​(有执行权限)或 T​(无执行权限)。
    • 用途:用于公共可写目录,如 /tmp​,防止用户互相删除对方文件,提高系统安全性。

示例 9. 设置 setuid 权限

文件始终以属主身份运行,经典案例:passwd

chmod u+s executable

示例 10. 设置 setgid 权限

使得在目录中创建的文件继承目录的所属组,而不是创建者的所属组

chmod g+s directory

示例 11. 设置 sticky bit 权限

使得只有文件所有者可以删除或重命名文件,即使其他人有写权限

chmod +t directory

示例 12. 移除所有特殊权限

同时移除 setuid、setgid 和 sticky bit 权限

chmod u-s,g-s,o-t directory

本文共 823 个字数,平均阅读时长 ≈ 3分钟
1

海报

正在生成.....

评论 (0)

取消