了解 chmod 命令设置 Linux 文件或目录的访问权限
在 UNIX/Linux 系统中,每个文件或目录都关联有 3 类权限,分别控制它们的权限。这些权限是读、写和执行。这允许或阻止用户读取或写入文件。执行权限允许用户将文件作为脚本或可执行文件运行。
在本教程中,我们将学习 Linux 中的 chmod 命令。
什么是 chmod 命令
chmod 命令用于更改 Linux 中文件和文件夹等文件系统对象的访问权限。它还用于修改特殊标志,例如 SUID、SGID 和粘性位。
可以使用命令ls -l查看r、w、x代表的文件风格。
Linux 文件权限
在 Linux/Unix 等类 Unix 操作系统中,所有文件和文件夹均归用户和组所有。当我们谈论 Linux 中的权限时,有文件所有者、组所有者和权限。
存在三个基于用户的权限组:
- 所有者 - 拥有文件或文件夹的用户。默认情况下,当用户创建文件或文件夹时,该用户仅成为所有者。
- 组 - 拥有文件或文件夹的组。该组的所有成员对文件或文件夹都具有相同的访问权限。
- 其他 - 不拥有该文件或文件夹且不属于该组的用户。它的意思是“每个人”或者换句话说“世界”。
使用chown命令更改文件和文件夹的属性。要仅更改文件或文件夹组,可以使用 chgrp 命令。文件和目录权限基于 umask 设置。
每个文件或文件夹有三种权限:
- 读取
- 写入
- 执行
字符表示读取是
文件所有者w,表明执行是x。读权限
文件的读权限意味着可以打开并读取该文件。
文件夹读取权限是指用户可以读取文件夹的内容。
写权限
对文件的写权限意味着该文件可以被修改(编辑或修改)。
文件夹的写权限意味着可以更改文件夹的内容。例如,用户可以创建新文件、删除或重命名文件夹中的文件。
应用权限
对文件应用权限意味着该文件可执行。例如,用户可以执行程序或 shell 脚本文件。
对目录的执行权限意味着用户可以更改(cd)到该目录。但它不允许用户列出文件夹的内容。
自定义权限模式
除了读取、写入和执行之外,您还可以为文件和文件夹分配特殊的权限模式。具体的授权模型包括SUID(setUID)、SGID(setGID)和嵌入位。
当文件上设置了 SUID 位时,文件始终以文件的用户身份运行,而不是以启动程序的用户身份运行。使用 SUID 的 Linux 命令的示例是
ls -l /usr/bin/passwd,普通用户使用该命令时会导致权限提升。当SGID设置为文件时,有效组设置为文件的组。运行程序时,用户被授予组权限。
兔子通常放在文件夹中。一旦粘性兔子安装在文件夹中,只有文件所有者或 root 可以修改该文件夹内的文件或文件夹。
如何在 Linux 中 chmod
chmod 使用符号或数字方法来指定权限。您需要 root、文件所有者或 sudo 用户权限才能更改权限。
chmod 使用数字模式更改文件/目录权限
chmod 数字模式也称为绝对模式。这是最常用的方法。
读取、写入和执行被分配具有特殊值的编号,如下所示:
- 读取权限:4
- 写入权限:2
- 执行权限:1可以覆盖实际组:1的组合权限,例如:
- 读写权限:4+2=6
- 读、写、执行权限:4+2+1=7
然后,这些数字用于合计权限每个用户类别,例如:
- 文件所有者:7
- 文件所属组:6
- 其他用户:5
要以数字方式更改文件/文本权限,请按照以下步骤操作:
- 使用命令
ls -l检查文件/文本权限。 - 使用数字模式指定要更改的许可证。例如,要更改文件所有者的读取、写入和执行权限,请使用数字模式
chmod 700 filename。 - 再次使用命令
ls -l检查是否已应用新的文件/目录权限。
chmod 使用符号模式更改文件/目录权限
符号模式是一种根据当前方向和方向的权限状态来更改文件/目录权限的方法。示例模型包含以下指示:
+添加权限-删除权限=设置用户权限还设置用户权限U
g文件组由o其他用户拥有a ♂图形风格,请按照以下步骤操作:- 使用命令
ls -l查看文件/目录权限。 - 使用符号方法指定要更改的权限。例如,要更改文件所有者的读、写和执行权限,请使用符号模式
chmod u+rwx filename。 - 再次使用命令
ls -l检查是否已应用新的文件/目录权限。
chmod 命令的有用示例
让我们看一下使用数字和符号方法使用 chmod 命令更改权限的一些示例。
chmod 755 目录名这相当于
chmod u=rwx,go=rx。为所有者设置读、写、执行权限(完全权限),为其他用户设置读、执行权限。chmod +x 文件名这相当于
chmod ugo+x或chmod u+x,g+x,o+x。设置所有者、组和其他用户的权限。chmod 750 目录名这相当于
chmod u+rwx,g=rx,o=。设置完全所有者权限,读取和执行组权限,其他用户没有权限。chmod u+rwx 目录名忽略所有权限,将读、写、执行权限设置为owner。
chmod -R 700 目录名为文件夹所有者设置完全权限。
chmod go-rwx 文件名删除其他组和用户对文件的读、写和执行权限。
chmod 644 文件名授予所有者读写权限,以及文件所在组和其他用户的只读权限。
chmod g+x 文件名授予群组成员对文件的执行权限。
chmod go-rw 文件名删除用户和组类对文件的读写权限。
结论
在本教程中,我们学习了 Linux 中的 chmod 命令。我们了解了 Linux 权限以及如何更改它们。
- 使用命令
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网