zoukankan      html  css  js  c++  java
  • 通俗易懂理解Linux文件权限修改chmod命令

    chmod g+w filename 给同组用户增加filename文件的写权限
    chmod go+rw filename 给同组和组外用户增加写和读的权限
    chmod g-w filename 给同组用户去除写权限

    命令中间分为三部分:

    第一部分
    g、o 这些代表给谁修改权限,一共有4个字母可以放进去,可一个一个放,也可多个写一起,表示一起修改
    u:文件拥有者
    g:跟拥有者同组的用户
    o:其他用户
    a:所有用户,等同于ugo

    第二部分
    这部分里的+ 、- 这些表示增加和去除的意思

    第三部分
    w、rw 这些代表具体的权限,可以一个一个放,也可以多个写一起,表示一次给多种权限
    r:读权限
    w:写权限
    x:执行权限

    另一种写法

    chmod 755 filename
    chmod 777 filename

    这种写法简洁一些,效果和前面写字母的方式是一样的,那这三个数字代表啥呢?
    第一个数字代表文件拥有者的权限(相当于给u的权限), 第二个数字代表拥有者同组用户的权限(相当于给g的权限),第三个数字代表其他用户的权限(相当于给o的权限)。

    那么,具体每一个数字又是怎么跟具体的权限挂钩的呢?
    我们先把三种权限对应到三个数字:
    r:4
    w:2
    x:1
    空权限:0
    然后需要哪个权限,就用哪个数字,如果需要一起用多个权限,就把对应的数字加起来。
    比如前面例子中的7,就代表4+2+1,表示同时修改读、写、执行的权限;5代表4+1,表示同时修改读、执行的权限。
    同理,如果我想同时修改读和写的权限,那就把读和写的数字加一起,4+2=6这样。
    比如,chmod 756 filename,表示给文件拥有者读、写、执行三个权限,给拥有者同组用户读、执行权限,给其他用户读、写权限。
    上面这个例子等同于:
    chmod u+rwx filename
    chmod g+rx filename
    chmod o+rw filename
    当然这三个命令可以合为一个 chmod u+rwx,g+rx,o+rw filename,这样写起来多麻烦啊,所以大家都习惯用数字来写,方便,当然如果只做很小的改动,用字母的方式也很简单明了。

    顺便说一下,上面看到多种权限修改可以通过逗号分隔,放在一个命令里,那多个文件也可以通过空格分隔,放在一个命令里。
    比如 chmod 777 filename1 filename2,就是同时对两个文件进行权限修改为777的操作。

    其他参数
    chmod -R 755 /dir,使用-R有递归的作用,可以使指定目录以及所有子目录都同时进行权限修改。

    查看文件权限

    我们常用的 ll 命令,就可以看到文件的权限,在每个文件最前面有一串符号就是,比如
    -rw-r--r--
    -rw-r--rwx
    drwx------
    这串符号分为两部分:
    第一部分,就是第一个字符,要么是 - 要么是 d,代表文件类型,- 表示是文件,d 表示是目录。
    第二部分,一共有3*3=9个字符,按顺序,最前面三个字符代表文件拥有者的权限,接下来三个字符代表拥有者同组用户的权限,最后三个字符代表其他用户的权限。
    然后代表权限的三个字母,大家应该都熟悉了,都是些r、w、x这些,前面都讲到过了,三个字符是严格按照读、写、执行的顺序摆好位置的,如果是 - ,就表示没有权限。
    比如第一个例子,-rw-r--r--,如果我们给这个文件执行以下 chmod o+wx filename,再用 ll 看一下,会发现这个文件的权限信息变成了 -rw-r--rwx。

  • 相关阅读:
    问题:关于抛出例外的一个问题。
    向北京球迷致敬!!!
    [下载]高质量C++C编程指南
    WinCE.NET中播放声音
    WINCE.NET中程序只运行一次
    解决vs2003开发PDA(wince.net4.2)调试与部署问题
    WinCE.NET中设置系统日期时间
    网页上发送mail(PHP)
    点阵字库预览工具 V1.0.0
    WINCE.NET4.2下如何获取程序当前运行目录
  • 原文地址:https://www.cnblogs.com/leonbond/p/10399467.html
Copyright © 2011-2022 走看看