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,如下图所示
            

     

  • 相关阅读:
    《C++ Primer(中文版)(第5版)》斯坦利·李普曼 (Stanley B. Lippman) (作者), 约瑟·拉乔伊 (Josee Lajoie) (作者), 芭芭拉·默 (Barbara E. Moo) (作者) azw3
    《O’Reilly精品图书系列共21册》azw3
    《跟老齐学Python:从入门到精通》齐伟(编著)epub+mobi+azw3
    《C Primer Plus(第6版)(中文版)》普拉达(作者)epub+mobi+azw3
    《算法图解》[美] Aditya Bhargava(作者)epub+mobi
    《程序之美系列(套装共6册)》[美]斯宾耐立思 等 (作者) epub+mobi+azw3
    《算法技术手册》George T. Heineman(作者)epub+mobi+azw3
    收藏夹
    笔记
    Unity3D物理引擎Rigidbody,Collider,PhysicMaterial的整理 [转]
  • 原文地址:https://www.cnblogs.com/MrHSR/p/9692019.html
Copyright © 2011-2022 走看看