zoukankan      html  css  js  c++  java
  • 【Linux】目录文件权限的查看和修改【转】

    在Linux系统中文件的权限可以在文件上单击右键—>属性来查看。

      但是我们这次用的是全命令来查看和修改文件的权限

      为了举一个实例,我们在mnt文件夹中建立一个fileA文件,然后在fileA文件夹中建立一个zhaoyuqiang.html网页。

    建好之,我们就以fileA文件和zhaoyuqiang.html文件来说事,呵呵

    查看文件的权限

      我们来查看一下zhaoyuqiang.html这个网页文件的权限。

    方法:在终端输入:
    ls -l xxx.xxx (xxx.xxx是文件名)查看的是xxx文件之中的文件权限

    那么就会出现相类似的信息,主要都是这些:-rw-rw-r--

     一共有十位数,其中:最前面那个 - 代表的是类型

    中间那三个 rw- 代表的是所有者(user)拥有的权限

      然后那三个 r-- 代表的是组群(group)拥有的权限

      最后那三个 r-- 代表的是其他人(other)拥有的权限

     然后

    r 表示文件可以被读(read)

    w 表示文件可以被写(write)

    x 表示文件可以被执行(如果它是程序的话)

    - 表示相应的权限还没有被授予

    之后的root root 就是用户拥有者了。

    需要注意的是:查看文件权限的目录问题: 如果有文件夹  /a/b/c

    那么执行 ls -l /a/b 查看权限的文件并不是b,而是查看的c的权限。

    ls -l /a 查看的是b文件的权限

    ls -l /a/b 查看的是c文件的权限

    ls -l /a/b/c 查看的是c文件的权限

     

    修改权限简介

    在终端输入:

    chmod o w xxx.xxx

      表示给其他人授予写xxx.xxx这个文件的权限

    chmod go-rw xxx.xxx

      表示删除xxx.xxx中组群和其他人的读和写的权限

      其中:

    u 代表所有者(user)

    g 代表所有者所在的组群(group)

    o 代表其他人,但不是u和g (other)

    a 代表全部的人,也就是包括u,g和o

    r 表示文件可以被读(read)

    w 表示文件可以被写(write)

    x 表示文件可以被执行(如果它是程序的话)

      其中:rwx也可以用数字来代替

    r ------------4

    w -----------2

    x ------------1

    - ------------0

      行动:

    表示添加权限

    - 表示删除权限

    = 表示使之成为唯一的权限

    当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:

    -rw------- (600) 只有所有者才有读和写的权限

    -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限

    -rwx------ (700) 只有所有者才有读,写,执行的权限

    -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限

    -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限

    -rw-rw-rw- (666) 每个人都有读写的权限

    -rwxrwxrwx (777) 每个人都有读写和执行的权限

     

    Linux文件和目录访问权限设置

    使用chmod和数字改变文件或目录的访问权限
          文件和目录的权限表示,是用rwx这三个字符来代表所有者、用户组和其他用户的权限。有时候,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅需三个数字。
    r: 对应数值4
    w: 对应数值2
    x:对应数值1
    -:对应数值0
    数字设定的关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单。

    (一) 我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:111 101 100再将其每三位转换成为一个十进制数,就是754。

    (二) 也可以将其简单的理解为一种运算: (4+2+1) (4+1) (4)=754
    例如,我们想让zhaoyuqiang.html这个文件的权限为:
               自己     同组用户     其他用户
    可读      是            是              是
    可写      是              是 
    可执行  是
    那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我们执行命令:

    根据上图可以看出对zhaoyuqiang.html执行664后,它的权限变成了

             -  rw-(自己)  rw- (同组用户) r--(其它用户)

     

    按照上面的规则,rwx合起来就是4 2 1=7,一个rwxrwxrwx权限全开放的文件,数值表示为777;而完全不开放权限的文件“---------”其数字表示为000。下面举几个例子:
    -rwx------:等于数字表示700。
    -rwxr—r--:等于数字表示744。
    -rw-rw-r-x:等于数字表示665。
    drwx—x—x:等于数字表示711。
    drwx------:等于数字表示700。

     

    加入想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,也就是说,我要修改fileA文件夹的权限,fileA 文件中的子文件的权限也一并修改,要使用参数-R表示启动递归处理。
    例如:

    如上图,对fileA修改权限700后,fileA的权限变成了 drwx------ 但是zhaoyuqiang.html的权限依然为-rw-rw-r--

    上图中,对fileA修改权限为-R 744,结果fileA 和其子文件zhaoyuqiang.html的权限都变成了-rwxr--r--。

    通过上述两种对比:

    [root@localhost ~]# chmod 700 /mnt/fileA注:仅把fileA目录的权限设置为700
    [root@localhost ~]# chmod -R 744 /mnt/fileA注:表示将整个/mnt/fileA目录与其中的文件和子目录的权限都设置为744

     

     

    需要注意的还是关于修改权限的文件问题:比如有文件 /a/b/c.

    执行: chmod 700 /a  修改的是a文件的权限

           chmod 700 /a/b  修改的是b文件的权限

           chmod 700 /a/b/c  修改的是c文件的权限

    要和查看文件权限的目录分开

     

     

    使用命令chown改变目录或文件的所有权
        文件与目录不仅可以改变权限,其所有权及所属用户组也能修改,和设置权限类似,用户可以通过图形界面来设置,或执行chown命令来修改。
    我们先执行ls -l看看目录情况:

    上图,查看zhaoyuqiang.html文件的权限,红色区域表示zhaoyuqiang.html这个文件的所属用户组为root,所有者为root

      我们所要做的就是修改文件的所属用户组和所有者。
    (1) 执行下面命令,把zhaoyuqiang.html文件的所有权转移到用户zyq:

     上图中的红色区域的文件所属用户组确实已经改成了zyq了。
    (2)要改变所属组,可使用下面命令:

    上图可以看出 我们修改了fileA文件夹的所属组为zyq。

    (3)同时修改文件的所属用户组和所有者。

          这个做法,我相信大家都想到了

    (4)要同时修改fileA和其子文件zhaoyuqiang.html的所属用户组和所有者。

         这个要用的-R 参数就可以了。

  • 相关阅读:
    POJ3320 Jessica's Reading Problem
    POJ3320 Jessica's Reading Problem
    CodeForces 813B The Golden Age
    CodeForces 813B The Golden Age
    An impassioned circulation of affection CodeForces
    An impassioned circulation of affection CodeForces
    Codeforces Round #444 (Div. 2) B. Cubes for Masha
    2013=7=21 进制转换
    2013=7=15
    2013=7=14
  • 原文地址:https://www.cnblogs.com/wmm123/p/10269069.html
Copyright © 2011-2022 走看看