chmod命令用法_Linux修改权限命令chmod用法示例

chmod命令用法_Linux修改权限命令chmod用法示例点击上方”Linux中文社区”关注,星标或者置顶18点00分准时推送,第一时间送达责编:中文妹|来自:Linux迷|链接:r6d.cn/tNnDLinux中文社区(ID:Linux-China)第47次推文图源:pexels上一篇:色情版“微信”背后的秘密正文Linux中的Chmod命令用于更改或分配文件和目录的权限。在Linux/Unix系统中,文件和目录的可访问…

大家好,又见面了,我是你们的朋友全栈君。

点击上方 ”
Linux中文社区”  关注,星标或者置顶 18点00分准时推送,第一时间送达

责编:中文妹 | 来自:Linux迷 | 链接:r6d.cn/tNnD

bbaf0a7e0299bcdfbd498aa85bb67b1f.png Linux中文社区(ID: Linux-China) 第 47 次推文 图源:pexels上一篇:色情版“微信”背后的秘密

正文

Linux中的Chmod命令用于更改或分配文件和目录的权限。在Linux/Unix系统中,文件和目录的可访问性是由文件所有权和权限决定的。在上一篇文章中,我们了解了如何使用chown命令管理文件和目录的所有权。在本教程中,我们将介绍chmod命令。

chmod命令(change mode的缩写)用于管理文件和目录权限,并确定谁可以访问它们。现在让我们深入了解文件和目录权限的本质,以及如何修改它们。

Linux权限

为了更好地理解chmod命令是如何工作的,我们该谨慎地研究Linux文件权限模型。 在Linux中,我们具有3种类型的文件权限:读(r),写(w)和执行(x)权限。这些权限确定哪些用户可以读取,写入或执行文件。您可以使用文本或八进制(数字)表示法来分配这些权限,我们将在本教程后面讨论。 文件和目录可以属于文件(u),组(g)或其他(o)的所有者

  • u – 所有人的权限
  • g – 所有组的权限
  • o- 其他人的权限

使用ls -l命令以长格式的形式查看当前目录下所有可见文件的详细属性。该-l标志列出文件的权限。权限分为三组:用户(user)组(group)和其他(others)。 为了更好地理解文件权限,我们将列出目录的内容,如下所示:

linuxmi@linuxmi:~/www.linuxmi.com$ ls -l

714a3788067da6a43c4d76ec7bdef50b.png 从最左端开始,第一个字符/符号表示文件类型。一个连字符( – ) ,表示该文件是一个普通文件。符号d表示它是目录。符号l表示它是符号链接。 其余的9个字符分成3个三元组,每个三元组带有三个符号r(read),w(write)和x(execute)。如前所述,第一部分指向所有者权限,第二部分指示组权限,最后一部分指定其他用户对该文件或目录具有的权限。 从输出中,我们可以看到我们有4个文件和2个目录。 让我们查看下第一个文件

-rw-rw-r-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.com.cpp

对于第一个文件,-rw-rw-r–权限表示该文件的所有者具有读取和写入权限,该组还具有读取和写入权限,而其他用户仅具有读取权限。 再看看目录的权限:

drwxrwxr-x 3 linuxmi linuxmi 4096 10月 12 13:31 Linux迷

我们可以看到目录和组的所有者拥有所有权限(读取,写入和执行),而其他用户仅具有读取和执行权限。 在三重连字符符号-表示没有权限已被授予该文件,小组或其他用户的所有者。

使用chmod命令设置文件和目录权限

在查看了文件权限以及如何查看它们之后,我们不再关注如何修改这些权限。 Linux中的chmod命令用于使用文本(符号)或数字(八进制)表示法更改文件和目录权限。它采用以下语法:

$ chmod [选项]模式文件名

只有root用户或具有sudo特权的普通用户才能更改文件或目录权限。您可以在命令语法中传递多个文件或目录,并用空格分隔。 现在让我们深入研究并查看chmod命令的不同示例。

示例1)使用数字符号分配权限

使用数字样式/符号设置权限时,请使用以下语法:

$ sudo chmod [选项]数字值文件名

数值可以为3或4个数字。但是,在大多数情况下,使用3个数字。读取,写入和执行权限采用以下值:

  • 读取权限=> 4
  • 写权限=> 2
  • 执行权限=> 1

权限值的总和,即在三个段中的每一个中的读取,写入和执行,都占给定文件或目录的完整权限。
这是什么意思? 假设所有者具有读取,写入和执行权限,该组具有读取和执行权限,而其他用户仅具有读取权限,可以将其细分如下:

u:rwx = 7
g:rx = 5
o:r– = 4

因此,我们得到的值为754,作为给定文件的文件权限的数值。 要将读取,写入和执行权限分配给所有者,而仅将读取权限分配给组和其他用户,请运行以下命令:

$ chmod 744 www.linuxmi.com.txt

要将所有权限分配给文件的所有者,请对该组读取和执行权限,而对其他用户则完全没有权限,请执行:

$ chmod 750 www.linuxmi.com.txt

要将所有权限分配给文件的所有者,请对该组具有读写权限,其他用户请运行以下命令:

$ chmod 755 linuxmi.txt

示例2)递归分配目录权限

为目录分配权限时,请使用-R标志以递归方式为其目录和子文件夹分配权限。例如: $ chmod 755 -R 目录名

$ chmod 755 -R /home/linuxmi/linux

示例3)使用文本表示法指定权限

分配权限的另一种方法是使用文本表示法。在此方法中,chmod命令采用标志或符号,这些标志或符号代表语法中的所有者,组,其他或所有用户(u,g和o)。 该方法不像以前的方法那样简单明了,应注意避免分配错误的权限。 这是语法的样子

$ chmod [选项] [ugoa] [– + =] [r,w,x]文件

让我们分解一下。 第一组参数[ugoa]指定权限将更改的用户类别

  • u:用户
  • g:组
  • o:其他
  • a:全部(包括以上所有内容)

如果省略了这个集合,那么默认选项是a选项。 第二组选项–操作员选项[– + =] –确定是要添加权限还是要从用户类别中删除权限。选项删除

  • –     :该标志从指定的用户中删除文件权限。
  • +    :将权限添加/添加到指定用户。
  • =    :为指定的用户分配不同的权限,并删除该用户段的先前权限。

示例4)为文件分配读取权限

$ chmod o = r 文件名 上面的命令仅将用符号“ o”表示的其他用户分配给该文件的读取权限,并删除先前分配给’ others ‘段的权限。取得具有以下权限的linuxmi.txt

linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrwxr-x 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt

48c8de1ff55dd361efa74eea05d70f75.png 分配“others (o)”段的读权限,请仅运行

linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o=r linuxmi.txt
[sudo] linuxmi 的密码:
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt

c690986df5d62efe11b2835c37183c93.png 从输出中,我们可以看到已为“others”段分配了读取权限,而同时又失去了执行权限。这意味着=运算符将分配新的权限,而同时会删除以前的权限。

示例5)向文件和组所有者分配执行权限

linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod ug+x linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt

上面的命令将执行权限添加到文件的所有者和组。使用我们的文件,它将变成:
6bcd105359ef964a7c7855aef9955337.png

示例6)为文件,组和其他分配不同的权限

sudo chmod u=rwx,g=rw,o=r filename 上面的命令将所有权限分配给文件的所有者,将读写权限分配给组,仅将读取权限授予其他用户。
8fb2ecf37f1e8cb181548814f96d57f9.png
注意:如果在=运算符之后未指定任何权限,则将删除该用户段中的所有权限。

示例7)删除其他用户的所有权限

$ sudo chmod o= filename sudo chmod o= linuxmi.txt $ sudo chmod o-rwx linuxmi.txt 上面的命令从“其他”用户段中删除指定文件的所有权限。 该命令与以下命令具有相同的作用: $ sudo chmod o-rwx filename

linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o= linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o-rwx linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt
-rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt

1c058116342bb848f0e036805213820d.png

示例8)使用模板文件分配权限

分配文件权限的另一种便捷方法是使用参考文件。在此方法中,您使用–reference= 选项将文件的权限设置为与另一个参考文件的权限相同。使用以下语法

$ sudo chmod –reference=ref_file filename

例如,要将linuxmi.txt的文件权限设置为与www.linuxmi.com.py的权限相同,请运行以下命令:

$ sudo chmod --reference=www.linuxmi.com.py linuxmi.txt

模板文件是www.linuxmi.com.py,将linuxmi.txt更改为模板文件相同的权限。
9aae923b9f9ffe05fc8f1b975fc6439e.png

示例9)仅将执行权限分配给目录

假设我们有一个包含文件和子目录的目录,并且我们希望仅对目录分配执行权限,而不接触文件。因此,这可以通过使用以下chmod命令来实现,

$ chmod a+X *

如果您已经注意到,我们已经使用大写的X作为执行权限,以上命令将在当前工作目录的所有目录上设置执行权限。
总结 这个话题暂时到此结束。我们查看了chmod命令,并了解了可以使用该命令更改文件权限的各种示例。

–END–

往期精彩

某酒店上热搜:因泄露3亿客人信息,被罚1.6亿

一文详解 FTP、FTPS 与 SFTP 的原理

(详细)Linux 的文件系统及文件缓存知识点整理

Linux系统常用命令速查手册

38d5b5f9aab44a72a3c3ded47f77fc56.png

喜欢本文的朋友们,欢迎长按下图,关注订阅号Linux中文社区

收看更多精彩内容

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150293.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • torch torchvision 下载安装与使用

    torch torchvision 下载安装与使用本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末torch和torchvision版本对应关系表torch下载官方下载地址:https://download.pytorch.org/whl/torch_stable.html选择对应版本下载即可torch安装安装命令:pipinstalltorch-1.5.1+cpu-cp36-cp36m-win_amd64.whlpipinstalltorchvision-0.6.0+cpu-cp36-cp

  • PHP审计之Duomicms审计

    PHP审计之Duomicms审计前言废话不多说,开冲代码审计任意文件写入定位漏洞代码admin/admin_ping.phpif($action=="set"){$

    2021年12月13日
  • 用idea搭建springboot项目_springboot入门项目

    用idea搭建springboot项目_springboot入门项目Idea搭建springboot项目

  • ⛽zipkin2.reporter.InMemoryReporterMetrics导致服务器CPU100%及应用OOM问题排查和解决「建议收藏」

    ⛽InMemoryReporterMetrics导致线上CPU100%及服务OOM排查和解决下面是我遇到的问题,以及一些简单的排查思路,如有不对的地方,欢迎留言讨论。如果你已经遇到 InMemoryReporterMetrics 导致的OOM问题,并已经解决,则可忽略此文。若你对CPU100%以及线上问题OOM排查不清楚,可以浏览下本文。问题现象【告警通知-应用异常告警】简单看下告警的信息:拒绝连接,不要太在意马赛克。问题排查通过告警信息,知道是哪一台服务器的哪个服务出现问题。首先登录服

  • intellij idea 全局搜索_idea设置全局搜索

    intellij idea 全局搜索_idea设置全局搜索IntelliJIDEA使用教程(总目录篇)我们用Eclipse或者IntelliJIDEA编程,有时候需要将整个项目的某个字符串替换成其他的。全局搜索我会,我还给调成ctrl+g了呢,但是遇到要全局(整个项目)替换字符串。哎哟,我有点蒙了。这不换了编辑器吗。我用的是eclipse的keymap而且电脑又不是mac。那么问题来啦。怎么找快捷键呢。如下;额,顺便说下…

  • windows无法连接到打印机错误为0x0000011b的解决办法[通俗易懂]

    windows无法连接到打印机错误为0x0000011b的解决办法[通俗易懂]今年微软更新了一波新补丁,然后很多人发现打印机或者共享打印机突然连接不上了,卸载驱动、删除打印机都没用。添加打印机出现0x0000011b的错误代码第一步:点击《控制面板》第二步:选择《程序和功能》第三步:查看已安装的更新第四步:不同版本对应的补丁名不同,参考如下:Windows10版本1507–KB5005569Windows10版本1607–KB5005573Windows10版本1809–KB5005568Windows10版本1909–KB5005566Windows1

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号