zoukankan      html  css  js  c++  java
  • Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)

    一. 概述

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

      1 . 改变权限 chmod
        
    chmod命令用来改变文件和目录安全性设置,该命令的三种用法格式如下:
          

        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文件,默认权限是:属主有读写权限,属组和其它用户有只读权限。如下图所示:
            |

          使用属主root用户操作file1.txt,有写读权限,如下图所示:
            
          使用其它用户hsr,操作file1.txt, 只有读权限,如下图所示:
            
          切换到root用户下,使用chmod命令,增加其它用户写入权限,设置如下图所示:
            
          切换到其它用户hsr,操作file1.txt,此时有了读和写的权限,如下图所示:
            

      2. 改变属主关系

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

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

            
          chown的-R选项可以递归改变子目录和文件的所属关系。-h选择可以改变文件的所有符号链接文件的所属关系。

            (1)   修改属主关系,在root用户下创建,默认是root属主,使用chown -R修改属主为hsr,如下图所示:
            
            (2)   修改属主和属组关系。在root用户下创建,默认是root属组,使用chown -R修改属组为hsr, 注意hsr.hsr第二个hsr 是组名。如下图所示:
            
         2.2 chgrp

           上面使用root用户在创建文件时,默认的属组是root组,使用了chown来改变了属组,下面使用chgrp命令也可以改变默认属组,如下将file文件默认属主改为root,如下图所示
            

     

  • 相关阅读:
    javascript 基本数据类型
    数据库管理小工具帮助
    CSS3实现32种基本图形
    面试题2:替换空格
    面试题1:二维数组中查找
    图的深度优先和广度优先搜索算法
    Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建
    Spring学习笔记—最小化Spring XML配置
    Spring学习笔记—装配Bean
    Spring学习笔记—Spring之旅
  • 原文地址:https://www.cnblogs.com/MrHSR/p/9692019.html
Copyright © 2011-2022 走看看