您的位置:首页 > 教育 > 培训 > chmod:修改目录权限

chmod:修改目录权限

2024/10/6 1:43:39 来源:https://blog.csdn.net/qq_38641599/article/details/142168434  浏览:    关键词:chmod:修改目录权限

一、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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com