chmod命令原理及用法详解[通俗易懂]

chmod命令原理及用法详解[通俗易懂]Chmod命令主要用于修改、设置文件权限chmod修改文件权限主要有两种方式:字母法与数字法虽然数字法相对字母法简单,但是数字法是基于字母法,所以这里先介绍字母法。1、字母法:chmod (ugoa) (+-=) (rwx) (文件名)以上是chmod的用法,每个括号是一个参数,前三个括号主要放在一起使用即chmod+设置模式+文件名;下

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

Chmod命令主要用于修改、设置文件权限

chmod 修改文件权限主要有两种方式: 字母法与数字法

虽然数字法相对字母法简单,但是数字法是基于字母法,所以这里先介绍字母法。

1、字母法:chmod  (u g o a)   (+ – =)   (r w x)   (文件名)

以上是chmod的用法,每个括号是一个参数, 前三个括号主要放在一起使用即 chmod + 设置模式 + 文件名;下面先介绍这些参数的意义:

[u g o a] 含义
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其它用户组
a all 表示这三者皆是

[+  –  =] 含义
+ 增加权限
撤销权限
= 设定权限

[r   w   x] 含义
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。


用法:chmod + 设置模式 + 文件名
中间的设置模式,要分别对u(user), g(group), o(other)设置权限。

chmod u+rwx, g+rwx, o+rwx filename 改命令说明对filename文件, 赋予user、group、other均有read、write、excute的权限

所以设置模式中应该包含对三种用户类型的权限设置,各自独立,互不影响。

举例说明:

chmod u+rw filename   说明对于filname, 只赋予user用户, read、write权限
chmod u+rwx, g+rw  filename  说明对filename,赋予user用户read、write、excute权限;赋予group用户read、write权限

注意:(chmod + 设置模式 + 文件名)    设置模式中包含对三种类型用户(u、g、o)的权限设置,这三者各自独立,互不干扰。


2、数字法

数字法是基于字母法的表示,如果字母法懂了,数字法就好懂,并且易于使用。

用法:chmod + 数字组合 + 文件名
数字组合一般包含三个数字:

第一个数字对应字母法的用户u(user)

第二个数字对应字母法的用户g(group)

第三个数字对应字母法的用户o(other)

另外:

r  (read)     —————->   4

w (write)    —————->   2

x (excute)  —————->   1

示例详解:

数字法:chmod  777   文件名   <———–对应————–>    字母法: chmod u+rwx, g+rwx, o+rwx  文件名 

第一个数字7:代表用户 u 的权限 rwx, 4 (r) + 2 (w) + 1 (x) =  7

第二个数字7:代表用户 g 的权限 rwx,    4 (r) + 2 (w) + 1 (x) =  7

第三个数字7:代表用户 o 的权限 rwx,    4 (r) + 2 (w) + 1 (x) =  7

举例说明:

数字法:chmod  755 filename    对应    字母法: chmod u+rwx, g+rx, o+rx filename
数字法:chmod  751 filename    对应    字母法: chmod u+rwx, g+rx, o+x  filename
数字法:chmod  765 filename    对应    字母法: chmod u+rwx, g+rw, o+rx filename

经过以上介绍,应该对于chmod的用法明白了。

附录 —— chmod 数字法另一种解释:

刚才上面的解释是基于求和的方法,下面用二进制的方法进行解释数字法表示:

r  w  x 权限用用三位二进制数字表示:

第一位数字(0或1)表示 r, 为1表示有效, 0无效

第二位数字 (0或1) 表示 w, 为1表示有效,0无效

第三位数字 (0或1) 表示 x, 为1表示有效, 0无效

000  <———————>    无任何权限

100  <———————>    r(read)      <—–> 4

010  <———————>    w(write)    <—–> 2

001 <———————->    x(excute)  <—->  1

101 <———————->    rx              <—->  5

110 <———————->    rw             <—->  6

111 <———————->    rwx           <—–> 7

参考资料:


http://www.cnblogs.com/loaderman/p/6547609.html


http://blog.csdn.net/leilu2008/article/details/8507037


http://blog.chinaunix.net/uid-21880738-id-1813031.html


http://www.cnblogs.com/chengJAVA/p/4319420.html


https://zhidao.baidu.com/question/168415347.html

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148020.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • aorg.gjt.mm.mysql.Driver和com.mysql.jdbc.Driver的关系

    aorg.gjt.mm.mysql.Driver和com.mysql.jdbc.Driver的关系今天写项目时,发现mysql驱动是 aorg.gjt.mm.mysql.Driver ,以前还真的没有见过,真是见识太少,于是记录一下。 com.mysql.jdbc.Driver的前身是org.gjt.mm.mysql.Driver,现在主要用com.mysql.jdbc.Driver,但为了保持兼容性保留了org.gjt.mm.mysql.Driver这个路径的引用。…

    2022年6月13日
    24
  • Postgresql+Springboot yml基本使用[通俗易懂]

    Postgresql+Springboot yml基本使用[通俗易懂]一、Postgresql介绍PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函

    2025年7月14日
    2
  • 华为5大设计师讲述HarmonyOS UX设计背后的故事

    华为5大设计师讲述HarmonyOS UX设计背后的故事NEW关注剁手日记视频号最新视频→【暮云白版DJIPocket2来啦】来源|网易科技报道不到一周时间,HarmonyOS2.0用户就突破了1000万;而不到一个月的时间,Harmony…

    2022年6月19日
    44
  • 流利说文本level6_流利说level4原文

    流利说文本level6_流利说level4原文Level6Unit11/4ListeningLesson1Harry’sInjury1-2DialogueLesson3Lovers’QuarrelReadingLesson4TheBoyWhoCriedWolfLesson5SurvivalintheOutback2/4ListeningLesson1T…

    2022年10月8日
    3
  • 车用TVS管 SM8S系列 国产替代

    车用TVS管 SM8S系列 国产替代汽车电子产品用TVS瞬态抑制二极管,首要条件就是器件要符合AEC-Q101标准,满足ISO-7637-2测试标准。目前业内比较常用的汽车级TVS二极管功率6600W,DO-218AB封装,工作电压10V-48V,不同品牌厂商对其型号命名是有差异的,比如力特(Littelfuse)是SLD8S系列,威世(Vishay)是SM8S系列,东沃(DOWO)是SM8S系列……具体型号如下:·SLD8S系列(Littelfuse品牌)型号大全:SLD8S10A、SLD8S11A、SLD8S12A、SLD8S13A

    2022年9月23日
    3
  • 项目差异class文件提取–>上线用

    项目差异class文件提取–>上线用packagefileReader;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStre

    2022年7月4日
    24

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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