欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)

程序员文章站 2022-03-09 21:56:39
一. 概述 如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读取、写入、执行3种权限来区分设置,还有使用chown,chgrp来改变默认属主属组关系。 1 . 改 ......

一. 概述

  如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读取、写入、执行3种权限来区分设置,还有使用chown,chgrp来改变默认属主属组关系。

  1 . 改变权限 chmod
    
chmod命令用来改变文件和目录安全性设置,该命令的三种用法格式如下:
      Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)

    model模式参数可以使用八进制或符号模式进行安全性设置,八进制模式设置非常直观,直接用期望赋予文件的标准3位八进制权限码即可。符号模式的权限在设置上就复杂多了,就不讲了,下面来看如何读懂八进制。

    1.1 八进制 模式
      八进制模式是指:先取得权限(rwx)的值,然后将其转换成3位二进制值,这二进制值用一个8进制值来表示。 然后组合的3个8进制值分别代表属主,属组,其它用户的权限。

权限

二进制值

八进制值

描述

---

000

0

没有任何权限

--x

001

1

执行权限

-w-

010

2

写入权限

-wx

011

3

写入和执行权限

r--

100

4

读取权限

r-x

101

5

读取和执行权限

rw-

110

6

读取和写入权限

rwx

111

7

全部权限

      通过上面表格说明,我们就能根据文件和目录需要的权限来组合八进制值。例如举列:
      如果目录或文件的八进制,组合值为777,代表所有用户都有读,写,执行权限。

      如果目录或文件的八进制,组合值为666,代表所有用户都有读,写权限。

      如果目录或文件的八进制,组合值为744,代表属主有读,写,执行权限。属组有读权限,其它用户有读权限。

      如果目录或文件的八进制,组合值为740,代表属主有读,写,执行权限。属组有读权限,其它用户没有任何权限。

    1.2   演示文件权限

      下面创建一个file1.txt文件,默认权限是:属主有读写权限,属组和其它用户有只读权限。如下图所示:
        |Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)

      使用属主root用户操作file1.txt,有写读权限,如下图所示:
        Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
      使用其它用户hsr,操作file1.txt, 只有读权限,如下图所示:
        Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
      切换到root用户下,使用chmod命令,增加其它用户写入权限,设置如下图所示:
        Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
      切换到其它用户hsr,操作file1.txt,此时有了读和写的权限,如下图所示:
        Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)

 

  2. 改变属主关系

    有时需要改变文件的属主,比如:有人离职要改变属主,或者文件要改变到属主下。在linux中提供了两个命令一是chown命令用来改变文件的属主。二是chgrp命令用来改变文件的默认属组。

    2.1 chown
      使用chown来改变文件的属主,可以用登录名或uid来指定文件的新属主。之前在安装mysql时,使用chown -r将/usr/local/mysql目录下的所有文件和目录。属主改为了mysql用户和属组为mysql组。如下图所示:

        Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
      chown的-r选项可以递归改变子目录和文件的所属关系。-h选择可以改变文件的所有符号链接文件的所属关系。

        (1)   修改属主关系,在root用户下创建,默认是root属主,使用chown -r修改属主为hsr,如下图所示:
        Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
        (2)   修改属主和属组关系。在root用户下创建,默认是root属组,使用chown -r修改属组为hsr, 注意hsr.hsr第二个hsr 是组名。如下图所示:
        Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)
     2.2 chgrp

       上面使用root用户在创建文件时,默认的属组是root组,使用了chown来改变了属组,下面使用chgrp命令也可以改变默认属组,如下将file文件默认属主改为root,如下图所示
        Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)