7.1 文件的基本权限

7.1.1 权限的作用

  通过对文件设定权限可以达到以下三种访问限制权限:

    只允许用户自己访问;

    允许一个预先指定的用户组中的用户访问;

    允许系统中的任何用户访问。

7.1.2 查看权限

  命令:ll /etc/passwd

   其中:文件类型,可以为p、d、l、s、c、b-

    p 表示命令管道文件

    d 表示目录文件

    l 表示符号连接文件

    - 表示普通文件

    s 表示 socket 套接口文件,比如我们启用 mysql 时,会产生一个mysql.sock 文件

    c 表示字符设备文件,例:虚拟控制台 或 tty0

    b 表示块设备文件  例:sda,cdrom

    例子:

 7.1.3 权限说明

  对于文件来说:

    r:读

    w:写

    x:执行

  对于目录来说:

    r:读(看到目录里面有什么)  ls

    w:在目录里面见文件,删除,移动  touch  mkdir  rm  mv  cp

    x:进入 cd cat

7.1.4 文件拥有者

  UGO:所有者-----用户组-----其他用户

  所有者:就是创建文件的用户,这个用户拥有对它所创建的文件的一切权限,所有者可以允许其所在的用户组可以访问所有者的文件。

  用户组:用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改收此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是是用户组。

  其它用户:系统内的其他所有者用户就是other用户类

7.1.5 举例说明

  7.1.5.1 常见几种文件权限组成

    - rwx --- --- :文件所有者对文件具有读取、写入和执行的权限。

    - rwx r-- r-- :文件所有者具有读、写与执行的权限,用户组里用户及其他用户则具有读取的权限

    - rw- rw- r-x :文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。

    drwx --x --x :目录所有者具有读写与进入目录的权限,其他用户仅能进入该目录,却无法读取任何数据。

    drwx --- --- :除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。

    例1:

      每个用户都拥有自己的专属目录,通常放置/home下 

      :[rwx --- ---] 表示目录所有者本身拥有的权限,其它用户是无法进入的。root可以

     例2:

      以什么用户身份登录,那么你创建的文件或目录,自动成为该文件的所属主和组

 

   7.1.5.2 更改文件的属主和属组

    chown:可以用来改变文件(或目录)的属主

       chgrp:可以用来改变文件(或目录)的默认属组

    如果要对目录进行操作,加参数  -R

    chown语法:

      chown user:group filename  比如:chown hr:san a.txt  把文件的属主和属组改为 hr和san

      chown user filename     比如:chown san a.txt   把文件的属主改为 san 用户

      chown :group filename     比如:chown :miao a.txt  把文件的属组改为 miao 这个组

      chown user: filename       比如:chown san: a.txt     把 a.txt 文件的属主和属组改为 san 用户。

      chgrp hr filename        比如:chgrp hr f.txt

      -R  :递归(目录下的所有内容都更改,否则只修改目录)

     实验:一个文件只有只读的权限,拥有者是否可以写入这个文件?

     结果:文件所有者一定可以写文件,需要强制保存退出(wq!)

7.1.6 修改权限

  7.1.6.1 使用字符设定

    修改权限用的命令:chmod

    作用:修改文件,目录的权限

    语法chmod [对谁操作] [操作符] [赋于什么权限] 文件名

    对谁操作:

      u -----> 用户  user,表示文件或目录的所有者

      g -----> 用户组 group,表示文件或目录所属的用户组

      o -----> 其他用户 others

      a -----> 所有用户 all

    操作符:

      +  添加权限

      -  减少权限

      =  直接给定一个权限 

    权限:r  w  x

    例如下列的组合:

      u-w  user  拥有者

      g+x  group  组

      o=r  other  其他人

      a+x  all       其他人 

   7.1.6.2 使用八进制(0-7)数字表示权限法

     例 1:

     例 2:

      rw- 的值是多少?  4+2=6

      rwx  r-x  r-x的值是多少?  rwx=4+2+1=7  r-x=4+1=5  r-x=4+1=5

 7.1.7 权限对文件和目录的影响

  有三种权限可以应用:读取,写入与执行,这些权限对访问文件和目录的影响如下:

  7.1.8 补码

  为什么我们创建的文件权限是644(即rw- r-- r--)呢?

  我们创建文件的默认权限是怎么来的

  umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的 umask 值中的数字

  文件默认权限=666  目录默认权限=777

  我们一般在/etc/profile、$[HOME]/.bash_profile 或$[HOME]/.profile 中设置umask 值

  永久生效,编辑用户的配置文件:vim /etc/profile

 

  图上注解:UID大于199 且用户的组名和用户名一样,那么 umask 值为 002,否则为 022

  图上注解-gt 在 shell 中表示大于;id -g 显示用户组 ID,id -gn 显示组名

  临时生效权限:

    umask 权限补码

 

    权限的算法:一般情况是:目录默认权限-umask 值

    图上 :666-044=622

     试题:umask 掩码为 033 创建普通文件后,权限是什么?

      (重要)666-033= 633,633是错误情况,因为在创建文件的时候不能带有执行权限,所以结果为644,即:-rw- r-- r--

 

 

    

 

posted on 2024-03-20 21:12  与太阳肩并肩  阅读(28)  评论(0编辑  收藏  举报

导航