没怎么操作过 Linux 的人,总是很好奇,为什么你执行 chmod 755 后,这个文件我就可以操作了呢?chmod xxx 是什么意思呢?且听本文来给你一一的讲解!

在开始之前,我们先来看一张图:

我们可以看到执行 ls -l 命令后,每一行的前面都有一个“-rwxrwxr-x”,这段神奇的代码是什么意思?而执行 chmod 755 xttblog.sh 后为什么这段代码又变了!

要说明这两个问题,就必须要从 Linux 的权限说起。“-rwxrwxr-x”这10个字符,前面第一个字符代表文件类型。Linux下,文件类型分为下面这几种:

  • d:目录directory

  • l:符号链接link

  • s:套接字socket

  • c:字符设备char

  • p:命名管道pipe

  • -:其他,不属于以上几类

这里的-代表的就是其他类型。再后面的“rwxrwxr-x” 9 个字符和访问方式有关。其中它们 3 个字符组合成一组。每一组代表一种不同的权限。

rwx 这三个字符代表的是读写执行访问方式:

  • 读(read):显示内容

  • 写(write):编辑内容,删除文件

  • 执行(execute):执行文件

别取这三个单词的首字母,就形成了 rwx 的简写形式。那为什么 3 个一组,3 个一组,分为3组呢?

答案是针对用户访问 Linux 文件有三类权限:

  • 创建人(user)权限:创建文件的人

  • 组(group)用户权限:和拥有者处于同一用户组的其他人

  • 其他(other)用户权限

前面的 9 个字符,每 3 个一组,分别代表:创建人(user)权限,组(group)用户权限,其他(other)用户权限。

总结一下,这十个字符,可分为四个部分:

  • 第1个字符表示文件的类型:[-]表示普通文件

  • 第234字符表示创建人的权限:[rwx]表示可读,可写,可执行

  • 第567字符表示组用户权限:[rwx]表示可读,可写,可执行

  • 第890字符表示其他用户权限:[r-x]表示可读,可执行

  • chmod 命令用于改变文件的权限,它有两种使用方法。

第一种:chomod [who] [operator] [permission] filename

[who]

  • u:创建人

  • g:组用户

  • o:其他用户

  • a:所有用户(all)

[operator]

  • +:增加权限

  • -:取消权限

  • =:设定权限

    [permission]

  • r:读

  • w:写

  • x:执行

如何给一个文本文件xttblog.sh增加可执行权限?

如何不让其他用户修改xttblog.sh?

第二种方法:chmod [mode] filename。到现在为止,我们使用了叫做“符号”的模式来用 chmod 指定权限的改变。然而,指定权限还有一种普遍使用的方法 — 使用数字来标示权限的用法。这种用法叫叫做数字权限语法的语法,每一位代表一个权限三元组。

模式、数字对应如下:

  • rwx:7

  • rw-:6

  • r-x:5

  • r–-:4

  • -wx:3

  • -w-:2

  • –-x:1

  • ---:0

[mode]是一个3位八进制数:

  • 第一位表示创建者权限
  • 第二位表示组用户权限
  • 第三位表示其他用户权限

更具体的:

  • 400:创建者可读

  • 200:创建者可写

  • 100:创建者可执行

  • 040:组用户可读

  • 020:组用户可写

  • 010:组用户可执行

  • 004:其他用户可读

  • 002:其他用户可写

  • 001:其他用户可执行

3位对应位的对应数字加起来,最终就是三类用户的最终权限。

如何回收非创建者用户对xttblog.sh的所有权限?

  • 第一位7:4+2+1,创建者,可读可写可执行

  • 第二位0:组用户,无权限

  • 第三位0:其他用户,无权限

xttblog.sh只允许创建者修改,允许其他用户读取和执行,怎么设置?

  • 第一位7:4+2+1,创建者,可读可写可执行

  • 第二位5:4+1,组用户,可读可执行

  • 第三位5:4+1,其他用户,可读可执行

一般来说,写了一个工具,只允许自己修改,不允许别人修改,但允许别人使用,这就是755。

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763,QQ2群:454796847,QQ3群:187424846。QQ群进群密码:xttblog,想加微信群的朋友,可以微信搜索:xmtxtt,备注:“xttblog”,添加助理微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

©著作权归作者所有:来自51CTO博客作者mob604756f06ed8的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Linux运维入门教程04-02 (用户、群组及权限的深入讨论)
  2. Oracle OCP 071中文考试题库-第16题
  3. Linux基本权限类别
  4. Elasticsearch认证及安全
  5. Rancher面板权限配置
  6. flea-frame-auth使用之角色权限设计初识
  7. C++中的const
  8. Alpaca-Spa-Laravel后台管理系统-前后分离
  9. 用户的基本权限

随机推荐

  1. Android中获取屏幕信息DisplayMetrics的
  2. Android资源收集
  3. 理解与应用Android桌面组件AppWidget
  4. Android中ScrollView布局初始化显示的时
  5. ubuntu连接android设备(附最简单方法)
  6. How to destroy an Activity in android
  7. Android Non-UI to UI Thread Communicat
  8. Android 获得屏幕分辨率
  9. android之实现各个组件点击事件监听
  10. CMAKE 在Linux下 构建android 编译、打包