自学Linux Shell7.2-linux文件权限

点击返回 自学Linux命令行与Shell脚本之路html

7.2-linux文件权限

在linux中每一个文件有全部者、所在组、其它组的概念linux

  • 全部者
    通常为文件的建立者,谁建立了该文件,就自然的成为该文件的全部者
    用ls ‐ahl命令能够看到文件的全部者
    也可使用chown 用户名 文件名来修改文件的全部者
  • 所在组
    在linux中的每一个用户必须属于一个组,不能独立于组外
    当某个用户建立了一个文件后,这个文件的所在组就是该用户所在的组
    用ls ‐ahl命令能够看到文件的全部组
    也可使用chgrp 组名 文件名来修改文件所在的组
  • 其它组
    除开文件的全部者和所在组的用户外,系统的其它用户都是文件的其它组

1. 文件权限符概念

 

 如上图所示作简介:drwxr-xr-x  就表示该文件..的文件权限安全

  •  第一个字段的字符d表示对象的类型为目录
     d:表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。
    -:表示这是一个普通的文件。
     l: 表示这是一个符号连接文件,实际上它指向另外一个文件。
     b、c:分别表示区块设备和其余的外围设备,是特殊类型的文件。
     s、p:这些文件关系到系统的数据结构和管道,一般不多见到。
  •  剩下的字段分为3组,分别表明 文件属主  属组成员 其余用户 的权限为   rwx  r-x   r-x  

    前三个为属主位:建立该文件者或被指定的文件所属者
    中三个为属组位:文件的所属组,在该组内的非属主用户对该文件拥有该属组权限。
    后三个Other位:other用户,既不属于属主又不在属组的用户数据结构

文件权限r  w  x 介绍

  • r(Read,读取)
    对文件而言,具备读取文件内容的权限;
    对目录来讲,具备浏览目录的权
  • w(Write,写入):
    对文件而言,具备新增、修改文件内容的权限;
    对目录来讲,具备删除、移动目录内文件的权限。
  • x(eXecute,执行):
    对文件而言,具备执行文件的权限;
    对目录了来讲该用户具备进入目录的权限。
  • -:表示不具备该项权限。

文件中rwx的具体含义:命令行

  •       r:可使用相似cat等命令查看文件内容
  •       w:能够编辑或删除此文件
  •       x:能够在命令提示符下当作命令提交给内核运行

目录中rwx的具体含义:htm

  •       r:能够对此目录执行ls以列出内部的全部文件
  •       w:能够在此目录建立文件:
  •       x:可使用cd切换进此目录,也可使用ls -l查看内部文件的详细信息

举例说明:
rwx------: 文件全部者对文件具备读取、写入和执行的权限。
-rwxr―r--: 文件全部者具备读、写与执行的权限,其余用户则具备读取的权限。
-rw-rw-r-x: 文件全部者与同组用户对文件具备读写的权限,而其余用户仅具备读取和执行的权限。
drwx--x--x: 目录全部者具备读写与进入目录的权限,其余用户近能进入该目录,却没法读取任何数据。
drwx------: 除了目录全部者具备完整的权限以外,其余用户对该目录彻底没有任何权限。对象

特别注意:blog

当删除或移动一个文件或目录,仅与该文件与目录所在的上一层目录权限有关,与该文件自己属性没有任何关系。对于文件来讲,写文件是修改文件,而不是删除文件,所以写文件是与该文件的自己属性有关的。get

默认文件权限

使用命令umask改变文件及目录的默认权限it

Linux系统中,文件的默认权限是由umask肯定的。在/etc/login.defs文件中能够查看umask在不一样目录下的默认权限值。

000   

 --- 对应八进制0 没有任何权限
001  --x 对应八进制1

只有执行权限

010

 -w- 对应八进制2 只有写入权限
011  -wx 对应八进制3 有写入和执行权限
100  r-- 对应八进制4

只有读取权限

101  r-x 对应八进制5 有读取和执行权限
110  rw- 对应八进制6 有读取和写入权限
111  rwx  对应八进制7 有所有权限

umask命令查看默认权限

umask  不加参数得出的 0022    第一位0表示安全特性叫粘着位,剩下3个数字表示文件或目录对应的umask的八进制值
建立文件时,默认最大权限是666,建立文目录最大权限是777,而后根据umask值,计算对应权限。
因此实例建立文件最大权限666减去usmak数值022得出的数值才是文件权限 = 644      等价于  rw-r--r--

umask命令设置文件的默认权限

umask命令设置目录的默认权限

umask设置为026,给新的目录newdir01, 对应的权限应该是777-026=751  等价于 wrxr-x--x

2. 改变权限chmod

  • chmod能够用来改变文件或目录权限的命令,但只有文件的属主和超级用户root才有这种权限。
  • 若同时更改多个所属对象权限,中间用“空格”隔开

经过chmod改变文件或目录的权限有两种办法:

  • 一是经过权限字母和操做符表达式的方法来设置权限

         u 属主       g 属组     o 其它用户
                   + 增长        - 减去      = 设置
                   r 读             w 写        x 执行

  • 另外一种是经过使用数字方法来设置权限

        chmod [数字组合] 文件名
                  -R 能够改变某个目录下全部文件的属性     4 读      2 写        1 执行       0 无权限

 

   

原来文件carlos01 caelos02的权限都是无权限,后来在原权限其余用户组追加r读权限,因此变成r--  ,,若想在carlos01的所属组在追加w权限,carlos02的其余用户组减去r读权限怎么操做?

3. 改变所属关系命令chown chgrp

当咱们要改变一个文件的属组,咱们使用的用户必须是文件的属组并且同时是目标属组的成员,或超级用户。
只有超级用户才能改变文件的属主。

  • chown命令改变文件的属主
    将指定文件的拥有者改成指定的用户或组,用户能够是用户名或者用户ID;组能够是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
    由于chown既能够改属主又能够改属组因此下面这个chgrp命令不多用
  • chgrp命令能够改变文件默认属组

 

  语法:       chown [选项] [全部者][:[组]] 文件  #:能够被.代替

  • user : 新的文件拥有者的使用者 ID
  • group : 新的文件拥有者的使用者群体(group)
  • -c : 若该文件拥有者确实已经更改,才显示其更改动做
  • -f : 若该文件拥有者没法被更改也不要显示错误讯息
  • -h : 只对于连结(link)进行变动,而非该 link 真正指向的文件
  • -v : 显示拥有者变动的详细资料
  • -R : 对目前目录下的全部文件与子目录进行相同的拥有者变动(即以递回的方式逐个变动)
  • --help : 显示辅助说明
  • --version : 显示版本
相关文章
相关标签/搜索